獲取位址列url連結?後面傳遞的引數

antzone發表於2017-03-23

大家知道通過get方式可以利用url連結進行傳值,引數地的引數名稱和引數值在網址的?後面,下面就介紹一下如何獲取傳遞的引數值,程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
function GetRequest(){ 
  var url=location.search;
  var theRequest=new Object(); 
  if(url.indexOf("?")!=-1){ 
    var str=url.substr(1); 
    strs=str.split("&"); 
    for(var i=0;i<strs.length;i++){ 
      theRequest[strs[i].split("=")[0]]=unescape(strs.split("=")[1]); 
    } 
  } 
  return theRequest; 
}

以上程式碼實現了我們的要求可以獲取url傳遞的引數值,下面就詳細介紹一下它的實現過程。

一.程式碼註釋:

1.function GetRequest(){},此函式實現此功能。

2.var url=location.search,可以獲取url連結的查詢部分,從“search”單詞的意思也可以聯想到,所謂的查詢部分就是url連結包括問號以後的部分。

3.var theRequest=new Object(),建立一個物件用來用來儲存引數名稱和引數值,屬性為引數名稱,屬性值為引數值。

4.if(url.indexOf("?")!=-1),如果url中存在問號部分。

5.var str=url.substr(1),擷取查詢字串,從第二個字元開始擷取,也就是擷取除去問號的部分。

6.strs=str.split("&"),分隔字串為陣列,比如a=2&b=3,那麼就形成["a=2","b=3"]。

7.for(var i=0;i<strs.length;i++){theRequest[strs.split("=")[0]]=unescape(strs.split("=")[1]);} ,遍歷陣列,然後將每一個陣列元素中的引數名稱作為物件屬性,引數值作為屬性值。

8.return theRequest,返回物件。

二.相關閱讀:

1.location.search屬性可以參閱location.search屬性一章節。 

2.indexOf()函式可以參閱javascript indexof()一章節。

3.substr()函式可以參閱javascript substr()一章節。  

4.split()函式可以參閱javascript split()一章節。

5.unescape()函式可以參閱javascript unescape()一章節。  

相關文章