我有以下用 NodeJS 编写的代码:
var Url = require("url");
// create server ... req, res
var queryData = Url.parse(req.url, true);
console.log(queryData);
// listen (...)
对于来自浏览器的 url,/test?param1=val1
它queryData
是一个像这样的对象:
{ protocol: null,
slashes: null,
auth: null,
host: null,
port: null,
hostname: null,
hash: null,
search: '?param1=val1',
query: { param1: 'val1' },
pathname: '/test',
path: '/test?param1=val1',
href: '/test?param1=val1' }
解析的 url 对象中的字段path
和字段有什么区别?href
有没有不同的情况?
编辑:我在文档中看到href
是“ The full URL that was originally parsed. Both the protocol and host are lowercased.
”。
示例:' http://user:pass@host.com:8080/p/a/t/h?query=string#hash '
为什么我不会href
这样?如果我将 a 添加#hash
到 url,则href
来自对象的内容不会更改。