[英]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.