如何使用JS / jQuery获取Query参数

时间:2016-05-05 12:28:13

标签: jquery string parameters

我可以从查询字符串参数中输入一些变量吗?

接头

一般....

响应标题....

请求标题....

查询字符串参数:name:john home:london

/page.php?name=john&home=london

我需要var nameQuery = john或var homeQuery = london

4 个答案:

答案 0 :(得分:3)

获取查询参数比解析字符串有更好的方法。

现在,一个名为URLSearchParams的官方API可用,非常易于使用。

var queryString = "?id=1234&action=edit"
var queryParams = new URLSearchParams(queryString);
// p.s. you can get the query string by plain JS like
// var queryString = window.location.search;

console.log(queryParams.has('id')); // true
console.log(queryParams.get('action')); // "edit"
console.log(queryParams.getAll('action')); // ["edit"]
console.log(queryParams.toString()); // "?id=1234&action=edit"
queryParams.append('ref', 'top_page')
console.log(queryParams.toString()); // "?id=1234&action=edit&ref=top_page"

答案 1 :(得分:1)

您可以对此谎言使用split(),



   name:john
   home:london




<强>结果

RegExp::Common

答案 2 :(得分:1)

var url = '/page.php?name=john&home=london';
var params = url.split('?')[1].split('&');//get the url params array seperated from url 
var queryObj = {};
for(i = 0; i < params.length; i++){
  pair = params[i].split('='); //spilt to key and value
  queryObj[ pair[0] + 'Query' ] = pair[1];
}
console.log(queryObj)

答案 3 :(得分:0)

您可以使用location.search,它会为您提供:

"?name=john&home=london"

因此,使用上述信息,您可以这样分开:

search = location.search.substr(1).split("&");

您将获得:

["name=john", "home=london"]

您可以循环并获取值。

var stuff = {};
for (i = 0; i < search.length; i++) {
  thing = search[i].split("=");
  stuff[thing[0]] = thing[1];
}

最后,记录stuff你得到:

Object {name: "john", home: "london"}

您可以使用:

stuff.name; // john
stuff.home; // london