编程语言
首页 > 编程语言> > 如何使用JavaScript从当前URL获取查询字符串?

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

作者:互联网

我有这样的URL:

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

我需要做的是在获得详细信息之后? sign(查询字符串) – 即ProjectID = 462.我怎样才能使用JavaScript?

到目前为止我所做的是:

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

我不知道接下来该做什么.

解决方法:

看看关于window.location的MDN article.

QueryString在window.location.search中可用.

也适用于旧版浏览器的解决方案

MDN提供了如何获取QueryString中可用的单个键的获取值的示例(在上面引用的文章中不再可用).像这样的东西:

function getQueryStringValue (key) {  
  return decodeURIComponent(window.location.search.replace(new RegExp("^(?:.*[&\\?]" + encodeURIComponent(key).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1"));  
}  

// Would write the value of the QueryString-variable called name to the console  
console.log(getQueryStringValue("name")); 

在现代浏览器中

在现代浏览器中,您具有URL接口的searchParams属性,该属性返回URLSearchParams对象.返回的对象有许多方便的方法,包括get-method.所以上面例子的等价物是:

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

请注意,此界面仍然限制浏览器支持,因此如果您需要支持旧版浏览器,请坚持使用第一个示例或使用polyfill.

标签:javascript,query-string
来源: https://codeday.me/bug/20190915/1806397.html