繁体   English   中英

如何使用JS / jQuery获取查询参数

[英]How to get Query parameter with JS/jQuery

我可以从查询字符串参数中添加一些参数吗?

标头:

一般....

响应标题...。

请求标题...。

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

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

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

获得查询参数的方法比解析字符串要好得多。

现在,提供了一个称为URLSearchParams的官方API,非常易于使用。

 var queryString = "?id=1234&action=edit" var queryParams = new URLSearchParams(queryString); // ps 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" 

您可以对这个柔和的波纹管使用split(),

  var url = window.location.href; var params = url.split('?')[1].split('&'); for(var i =0;i<params.length;i++){ var temp = params[i].split('='); var key = temp[0]; var value = temp[1]; console.log(key +':'+value); } 

结果

   name:john
   home:london

 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) 

您可以使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM