使用location.search解析URL中?後的請求資訊
阿新 • • 發佈:2019-02-05
客戶端網站向伺服器傳送請求時常常會攜帶一些請求資訊,開發人員通常會使用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);
}
}