JavaScript 獲取 url 傳遞引數值

antzone發表於2020-04-03

本文介紹一下如何利用 JavaScript 獲取通過URL傳遞的引數值。

HTML5 提供更為簡便方式,具體參閱URLSearchParams 物件等相關內容。

相容所有瀏覽器的方式:

[JavaScript] 純文字檢視 複製程式碼
function get_get(){ 
  querystr=location.search.substring(1,location.search.length)
  if(querystr){ 
    var GETs=querystr.split("&") 
  var GET =new Array() 
  for(i=0;i<GETs.length;i++){ 
    tmp_arr=GETs[i].split("=") 
   key=tmp_arr[0] 
   GET[key]=tmp_arr[1] 
  } 
 } 
 return GET; 
} 
get_get()

可以獲取url傳遞的引數值,下面就介紹一下它的實現過程。

一.程式碼註釋:

(1).function get_get(){},此函式可以獲取 url 傳遞的引數。

(2).querystr=location.search.substring(1,location.search.length),擷取問號(?)後面的部分,例如 www.softwhy.com?a=1&b=2&c=3,得到的字串就是a=1&b=2&c=3。

(3).if(querystr){},判斷 url 地址是否存在問號後面的部分,判斷是否傳遞引數。

(4).var GETs=querystr.split("&"),將 url 問號後面的字串用 & 進行分割產生陣列,成員是 鍵/值 對。

(5).GET =new Array(),建立一個新的陣列用來存放url傳遞的引數值,這個陣列是以引數名稱為索引。

(6).for(i=0;i<GETs.length;i++){},遍歷陣列GETs的元素。

(7).tmp_arr = GETs.split("="),陣列元素以 "a=1" 形式存在的,然後再以等號分割生成一個新陣列。

(8).key=tmp_arr[0],獲取 url 傳遞引數的名稱。

(9).GET[key] = tmp_arr[1],給陣列賦值。

(10).return GET,返回陣列。

二.相關閱讀:

(1).window.location.href參閱 location.href 一章節。

(2).split()參閱 JavaScript split(一章節。 

(3).location.search參閱 location.search 屬性 一章節。

相關文章