如何使用JavaScript从当前URL获取查询字符串?

2022-08-30 02:38:11

我有这样的网址:

http://localhost/PMApp/temp.htm?ProjectID=462

我需要做的是获取符号(查询字符串)之后的详细信息 - 即.我如何使用JavaScript获得它??ProjectID=462

到目前为止,我所做的是这样的:

var url = window.location.toString();
url.match(?);

我不知道下一步该怎么办。


答案 1

看看 MDN 关于 .window.location

QueryString 在 中可用。window.location.search

如果您希望使用更方便的接口,则可以使用 URL 接口的 searchParams 属性,该属性返回一个 URLSearchParams 对象。返回的对象具有许多方便的方法,包括 get 方法。因此,与上述示例等效的是:

let params = (new URL(document.location)).searchParams;
let name = params.get("name");

URLSearchParams 接口还可用于解析查询字符串格式的字符串,并将它们转换为方便的 URLSearchParams 对象。

let paramsString = "name=foo&age=1337"
let searchParams = new URLSearchParams(paramsString);

searchParams.has("name") === true; // true
searchParams.get("age") === "1337"; // true

URLSearchParams接口现在在浏览器中被广泛采用(根据Can I Use,95%以上),但是如果您确实需要支持旧版浏览器,则可以使用polyfill


答案 2

用于在包含后获取所有内容window.location.search?

例:

var url = window.location.search;
url = url.replace("?", ''); // remove the ?
alert(url); //alerts ProjectID=462 is your case