對象UrlObject
Url 處理對象
基礎模塊。提供url 的格式化,解析與拼裝
1
2
3
4
5
6var url = new net.Url('http://www.xici.net/');
var url = new net.Url({
protocol: 'http:',
hostname: 'www.xici.net',
pathname: '/'
});
繼承關係
構造函數
UrlObject
UrlObject 對象構造函數,使用參數構造
1new UrlObject(Object args);
調用參數:
- args: Object, 指定構造參數的字典對象,支持的字段有:protocol, slashes, username, password, hostname, port, pathname, query, hash
UrlObject 對象構造函數,使用 url 字符串構造
1
2
3new UrlObject(String url = "",
Boolean parseQueryString = false,
Boolean slashesDenoteHost = false);
調用參數:
- url: String, 指定構造 url 字符串
- parseQueryString: Boolean, 指定是否解析query
- slashesDenoteHost: Boolean, 默認為false, 如果設置為true,則從字符串'//'之後到下一個'/'之前的字符串會被解析為host,例如'//foo/bar', 結果應該是{host: 'foo', pathname: '/bar'}而不是{pathname: '//foo/bar'}
成員屬性
href
String, 查詢和設置當前UrlObject 對像中的完整 url 地址描述,此描述由其他所有屬性組裝而成
1String UrlObject.href;
protocol
String, 查詢和設置當前UrlObject 對像中的協議名稱
1String UrlObject.protocol;
slashes
Boolean, 查詢和設置當前UrlObject 對像是否包含雙斜杠
1Boolean UrlObject.slashes;
auth
String, 查詢和設置當前UrlObject 對像中的完整驗證字符串,由username 和password 屬性組裝而成
1String UrlObject.auth;
username
String, 查詢和設置當前UrlObject 對像中的驗證用戶
1String UrlObject.username;
password
String, 查詢和設置當前UrlObject 對像中的驗證密碼
1String UrlObject.password;
host
String, 查詢和設置當前UrlObject 對像中的完整主機描述,由hastname 和port 組裝而成
1String UrlObject.host;
hostname
String, 查詢和設置當前UrlObject 對像中的主機名
1String UrlObject.hostname;
port
String, 查詢和設置當前UrlObject 對像中的端口號
1String UrlObject.port;
path
String, 查詢和設置當前UrlObject 對像中的請求完整路徑(含請求),由pathname 和query 組裝而成
1String UrlObject.path;
pathname
String, 查詢和設置當前UrlObject 對像中的路徑
1String UrlObject.pathname;
search
String, 查詢和設置當前UrlObject 對像中的請求字符串(含“?”),等效於“?”+query
1String UrlObject.search;
query
Value, 查詢和設置當前UrlObject 對像中的請求字符串( 不含“?”)
1Value UrlObject.query;
hash
String, 查詢和設置當前UrlObject 對像中的請求錨點(含“#”)
1String UrlObject.hash;
searchParams
HttpCollection, 查詢當前UrlObject 對像中的請求字符串( 不含“?”)
1readonly HttpCollection UrlObject.searchParams;
成員函數
parse
解析一個 url 字符串
1
2
3UrlObject.parse(String url,
Boolean parseQueryString = false,
Boolean slashesDenoteHost = false);
調用參數:
- url: String, 指定需要解析的 url 字符串
- parseQueryString: Boolean, 指定是否解析query
- slashesDenoteHost: Boolean, 默認為false, 如果設置為true,則從字符串'//'之後到下一個'/'之前的字符串會被解析為host,例如'//foo/bar', 結果應該是{host: 'foo', pathname: '/bar'}而不是{pathname: '//foo/bar'}
format
使用指定的參數構造UrlObject
1UrlObject.format(Object args);
調用參數:
- args: Object, 指定構造參數的字典對象,支持的字段有:protocol, slashes, username, password, hostname, port, pathname, query, hash
resolve
重定位 url 路徑,自動識別新路徑為相對路徑還是絕對路徑
1UrlObject UrlObject.resolve(String url);
調用參數:
- url: String, 指定新的路徑
返回結果:
- UrlObject, 返回包含重定位數據的對象
normalize
標準化路徑
1UrlObject.normalize();
toString
返回對象的字符串表示,一般返回"[Native Object]",對象可以根據自己的特性重新實現
1String UrlObject.toString();
返回結果:
- String, 返回對象的字符串表示
toJSON
返回對象的JSON 格式表示,一般返回對象定義的可讀屬性集合
1Value UrlObject.toJSON(String key = "");
調用參數:
- key: String, 未使用
返回結果:
- Value, 返回包含可JSON 序列化的值