提取URL中的各个GET参数
提取get参数,以对象的形式打包输出
例如http://item.taobao.com/item.htm?name=xiaoming&sex=boy&age=18&weight=70kg&e
输出为{name:“xiaoming”,sex:“boy”,age:“18”,weight:“70kg”,e=undefined};
第一种方法 此处的url是当前窗口的网址时 利用BOM里的location来封装
location.href :url里所有的元素
location.search :url里从?开始到最后的所有元素
.protocol :http/https
.host:主机号+端口号 .honstname :主机号 .port : 端口号
.pathname : 相对路径
.hash:锚点
利用location.search来运作
var search = location.search;
var obj = {};
if(search != 0){
var splits = search.slice("1").split("&");
for(var i=0;i<splits.length;i++){
var arr = splits[i].split("=");
obj[arr[0]] = arr[1];
}
}
console.log(obj)
第二种 它是一个自定义好的字符串,不是当前窗口的url
var str="http:/\/item.taobao.com/item.htm?name=xiaoming&sex=boy&age=18&weight=70kg&e"
function serilizeUrl(url){
var result = {};
url = url.split("?")[1];
var map = url.split("&");
for(var i = 0,len = map.length; i < len; i++) {
result[map[i].split("=")[0]] = map[i].split("=")[1];
}
return result;
}
console.log(serilizeUrl(str))