1. 程式人生 > >使用location.search解析URL中?後的請求資訊

使用location.search解析URL中?後的請求資訊

客戶端網站向伺服器傳送請求時常常會攜帶一些請求資訊,開發人員通常會使用get請求向伺服器傳送資訊,這些資訊常常以鍵值對的方式新增在URL的?之後,而location物件的search屬性可以獲取到這段字串,但是我們想要的是鍵值對中的值,而不是整個鍵值對,這就要通過JS指令碼去解析這段字串。

實現思路

1、先獲取location.search的值(字串)
2、去掉開頭的?
3、以&切割字串
4、以=切割字串
5、將key和value放進一個關聯陣列中
6、讀取這個陣列

實現程式碼

function getValue(){
    /*獲取請求資訊*/
   var info = location.search;
   /*去除?*/
info = info.length > 0 ? info.substring(1) : " "; /*以&分割字串*/ var result1 = info.split("&"); /*儲存key和value的陣列*/ var key,value; var data = []; for(var i=0;i<result1.length;i++){ /*以=分割字串*/ var result2 = result1[i].split("="); key = result2[0]; value = result2[1
]; data[key] = value; } /*新建節點*/ var body = document.getElementsByTagName("body")[0]; var p = document.createElement("p"); body.appendChild(p); /*迴圈*/ for(index in data){ var pTxt = document.createTextNode("key:"+index+" value:"+data[index]+"; "); p.appendChild(pTxt); } }