问题

如何获取URL中的参数?

解决方案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//获取URL中的查询参数
function GetSearch() {
var url = location.search;//从问号 (?) 开始的 URL(查询部分)
var obj = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);//取得问号之后的URL
str = decodeURI(str);//从地址栏取得的字符串可能已经被编码,解码得到原文。unescape()不能使用于对 URI精选解码,且ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之。
strs = str.split("&");//将查询部分的字符串按&分解成字符数组
for(var i = 0; i < strs.length; i ++) {
obj[strs[i].split("=")[0]]=strs[i].split("=")[1];
}
}
return obj;
}


var obj = GetSearch();
//var keys = Object.keys(obj)
for(var k in obj) {
console.log(k,":",obj[k]);
}

JavaScript获取URL中的查询参数