如何使用js读取所有url参数?

nop*_*123 3 javascript

有什么办法,如何读取url参数?

www.example.com/detail?id=12
www.example.com/detail/12
Run Code Online (Sandbox Code Playgroud)

返回 12...

我不知道参数是什么。我想全部归还。

Dan*_*iel 8

您可以使用window.location.href参数来获取您的网址。

访问第二个示例中的 id 参数 (www.example.com/detail/12)

var url = window.location.href;
return url.substring(url.lastIndexOf('/')+1);
Run Code Online (Sandbox Code Playgroud)

如果您不需要它在 Internet Explorer 中工作,您还可以实现URLSearchParams,它允许您定义一个 URL 对象并直接从中检索参数:

来自https://developer.mozilla.org 的示例

var paramsString = "q=URLUtils.searchParams&topic=api";
var searchParams = new URLSearchParams(paramsString);

//Iterate the search parameters.
for (let p of searchParams) {
  console.log(p);
}

searchParams.has("topic") === true; // true
searchParams.get("topic") === "api"; // true
searchParams.getAll("topic"); // ["api"]
searchParams.get("foo") === null; // true
searchParams.append("topic", "webdev");
searchParams.toString(); // "q=URLUtils.searchParams&topic=api&topic=webdev"
searchParams.set("topic", "More webdev");
searchParams.toString(); // "q=URLUtils.searchParams&topic=More+webdev"
searchParams.delete("topic");
searchParams.toString(); // "q=URLUtils.searchParams"
Run Code Online (Sandbox Code Playgroud)