@Wangww0925
2019-08-07T08:03:20.000000Z
字数 2271
阅读 254
NodeJs
parse(参数1,参数2,参数3) - 获取路径JSON对象
以下通过该链接为例: http://LOCALhost:3000/aa/bb/index.html?name=laowang&age=100#book
query - 常用,查询信息【不包括问号】,例:name=laowang&age=100 【使用 querystring.parse() 解析后返回的对象】
pathname - 常用,路径 【不包括参数】,例:/aa/bb/index.html
protocol - 请求协议,例:http
slashes -
auth - URL中身份验证信息
host - 主机名 + 端口号 【小写格式】,例:localhost:3000
port - 端口号,例:3000
hostname - 主机名 【小写格式】,例:localhost
hash - 锚点 【 URL #后面部分,包括 #】 ,例:#book
search - 查询信息 【包括问号】 ,例: ?name=laowang&age=100
path - pathname + search ,例: /aa/bb/index.html?name=laowang&age=100
href - 完整路径,例:http://localhost:3000/aa/bb/index.html?name=laowang&age=100#book
format() - 拼接路径
resolve(from,to) - 重定向路径
resolveObject
Url
URL
URLSearchParams
domainToASCII
domainToUnicode
参数1: url(字符串)
参数2: 布尔值,默认false ,true - 返回对象中query的属性为一个对象
参数3: 布尔值,解析主机处理 一般情况下使用不到
只有url.parse(reqUrl,true);是返回对象,才可以访问对象中的数据
var url = require("url");
var reqUrl = "http://localhost:3000/aa/bb/index.html?name=laowang&age=100#book";
var url1 = url.parse(reqUrl);
var url2 = url.parse(reqUrl,false);
var url3 = url.parse(reqUrl,true);
/**
* url1 url2 返回路径JSON对象,url3 返回路径对象
{
protocol: 'http:',
slashes: true,
auth: null,
host: 'localhost:3000',
port: '3000',
hostname: 'localhost',
hash: '#book',
search: '?name=laowang&age=100',
query: 'name=laowang&age=100',
pathname: '/aa/bb/index.html',
path: '/aa/bb/index.html?name=laowang&age=100',
href:
'http://localhost:3000/aa/bb/index.html?name=laowang&age=100#book'
}
*/
// 访问对象中的数据,验证三种方式获得结果
console.log(url1.query.name); // undefinde
console.log(url2.query.name); // undefinde
console.log(url3.query.name); // laowang
var url = require("url");
var strUrl = url.format({
protocol: 'http:',
slashes: true,
port: '3000',
hostname: 'localhost',
hash: '#book',
// search: '?name=laowang&age=100',
query: { name: 'laowang', age: '100' }, // 删除search后,此处必须为对象
pathname: '/index.html'
})
console.log(strUrl); // http://localhost:3000/index.html?name=laowang&age=100#book
form: 开始的路径或者说当前路径
to: 想要去往的路径
返回一个组装好的url
只能重定向路径名,不能重定向域名
var url = require("url");
// 同域名之下切换路径 -- 常用
console.log(url.resolve("http://www.baidu.com/aa","bb")); // http://www.baidu.com/bb
// 不同域名之下 取后面的参数作为返回值
console.log(url.resolve("1223","5")); // 5
作者 wendy
2019 年 1月 21日