URL 来自 location.href 缺少搜索参数
URL from location.href missing searchParams
我正在尝试解析当前路由的 query/search 参数
let url = new URL(location.href);
当我查看 url
时,搜索参数在 href
中。我希望它们在 searchParams
中,它是空的。我的预期是否符合要求?
URL:
hash: "#/admin?ac=flags"
host: "localhost:8084"
hostname: "localhost"
href: "http://localhost:8084/#/admin?ac=flags"
origin: "http://localhost:8084"
password: ""
pathname: "/"
port: "8084"
protocol: "http:"
search: ""
searchParams: URLSearchParams { }
不,您的期望是正确的。
事实上,searchParams 属性 returns 一个对象 URLSearchParams 并且它不是空的。
let urlparams = (new URL(location.href)).searchParams;
现在,urlparams 持有对象,您可以使用 get 方法:
urlparams.get("ac")
href
包含 整个 URL
查询字符串将出现在 searchParams
但您的 URL 中没有查询字符串。
您有一个片段标识符(以 #
开头的部分),它是 URL 的最后一个组成部分。
如果您要有一个查询字符串,您需要一个以 ?
after 路径但 before 开头的部分片段标识符。
我正在尝试解析当前路由的 query/search 参数
let url = new URL(location.href);
当我查看 url
时,搜索参数在 href
中。我希望它们在 searchParams
中,它是空的。我的预期是否符合要求?
URL:
hash: "#/admin?ac=flags"
host: "localhost:8084"
hostname: "localhost"
href: "http://localhost:8084/#/admin?ac=flags"
origin: "http://localhost:8084"
password: ""
pathname: "/"
port: "8084"
protocol: "http:"
search: ""
searchParams: URLSearchParams { }
不,您的期望是正确的。 事实上,searchParams 属性 returns 一个对象 URLSearchParams 并且它不是空的。
let urlparams = (new URL(location.href)).searchParams;
现在,urlparams 持有对象,您可以使用 get 方法:
urlparams.get("ac")
href
包含 整个 URL
查询字符串将出现在 searchParams
但您的 URL 中没有查询字符串。
您有一个片段标识符(以 #
开头的部分),它是 URL 的最后一个组成部分。
如果您要有一个查询字符串,您需要一个以 ?
after 路径但 before 开头的部分片段标识符。