1. 程式人生 > >獲取URL中的引數(使用迴圈獲取,存進集合中,以url中的引數作為key,可根據需要根據key調取自己想要的引數)

獲取URL中的引數(使用迴圈獲取,存進集合中,以url中的引數作為key,可根據需要根據key調取自己想要的引數)

這是index頁面  中的點選事件方法                       準備跳轉到model_xxxx-list.html的頁面,傳的id

function model_xxxx_list(obj,id){
			window.location.href="xxxx/model-xxxx-list.html?modelID=" + id;
		}

這是model_xxxx-list.html頁面中  準備獲取index頁面傳過來的引數

  1. 首先獲取url
  2. 然後建立paraString 這應該是個陣列 將url中的引數,按照順序存進去
  3. 然後建立paraObj 這應該是個集合
  4. 然後迴圈遍歷這個陣列,根據 引數 有多少 就 迴圈多少次
    1. j.substring(0, j.indexOf("=")).toLowerCase()    這一段程式碼應該是獲取url中 = 號前面的引數   也就是modelID,至於後面為什麼用小寫的modelid獲取,可能是因為它會自動將大寫轉換成小寫 或者不區分大小寫,總之目的只有一個就是將 = 號前面的引數作為key,
    2. j.substring(j.indexOf("=") + 1, j.length) 
      這個毋庸置疑的就是獲取=號後面的引數了  
    3. 最後將獲取的引數  賦值  給定義好的key的集合中去  這樣就可以根據key獲取你想要的值了
  5. 最後一步用三元運算子,如果undifind(沒有找到)就賦值空的 “”,有值就根據key獲取 paraObj["modelid"]
        //獲取modelid
	var url = decodeURI(location.href);
	var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
	var paraObj = { };
	for (i = 0; j = paraString[i]; i++) {
	    paraObj[j.substring(0, j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") + 1, j.length);
	}
	var modelId2=(typeof (paraObj["modelid"]) == "undefined")?"":paraObj["modelid"];

 最後你可以根據獲取到的ID  曰天,曰地,曰空氣了(1-5中的講解,是我猜的。如有不對請請指點出來,但是親測有用【單參傳遞,多參沒測】)歡迎各位大佬加我wx:17625089935