方法一 :正则分析法
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return null;
}
- 使用:
params = getgetQueryString(params)
就可以获取到参数
方法二
function GetRequest() {
var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
}
}
return theRequest;
}
- 调用GetRequest()此时获取的是全部的参数,需要获取某个参数怎么做呢?
var Request = new Object();
Request = GetRequest();
var 参数1,参数2,参数3,参数N;
参数1 = Request[''参数1''];
参数2 = Request[''参数2''];
参数3 = Request[''参数3''];
参数N = Request[''参数N''];
- 还有种方法直接获取指定的方法,其实跟上面思路是一样的,只是上面是获取的全部参数,下面这个是传入具体的参数名,获取指定的参数。
function getParameterByName(paramName) {
var args = new Object();
var argsStr = location.search; //获取URL参数字符串
if (argsStr.length > 0) {
argsStr = argsStr.substring(1);
var nameValueArr = argsStr.split("&"); //多参数
for (var i = 0; i < nameValueArr.length; i++) {
var pos = nameValueArr[i].indexOf('=');
if (pos == -1) continue; //如果没有找到就跳过
var argName = nameValueArr[i].substring(0, pos); //提取name
var argVal = nameValueArr[i].substring(pos + 1); //提取value
args[argName] = unescape(argVal);
}
return args[paramName];
}
}