js中如何擷取浏覽器請求位址中的參數呢?
js擷取請求的query string
var getpageparams = function(){
var i,ilen,strs,keyname,keyvalue,
params={},
path = window.location.pathname,
url = window.location.href;
if(url.indexof("?")>-1){
var index=url.indexof("?");
strs=url.substring(index+1);
console.log(strs);
strs=strs.split("&");
ilen=strs.length;
for(i=0;i<ilen;i++){
var indexequal=strs[i].indexof('=');
keyname=strs[i].substring(0,indexequal);
keyvalue=strs[i].substring(indexequal+1);
if(keyname=="callback") keyvalue=decodeuricomponent(keyvalue);
params[keyname]=keyvalue;
}
}
return params;
};
console.log(getpageparams());
請求位址為:http://localhost:63342/chanjet_web_js/chanjet/js/test_whuang.html?callback=http://www.weixin.com?id=123&app=weixin
時,運作結果:
object {callback: "http://www.weixin.com?id=123", app: "weixin"}
http://localhost:63342/chanjet_web_js/chanjet/js/test_whuang.html?callback=http://www.weixin.com?id=123&app=weixin&returnurl=http://www.baidu.com
運作結果:
object {callback: "http://www.weixin.com?id=123", app: "weixin", returnurl: "http://www.baidu.com"}