本文主要是介绍js获取get请求后面的参数列表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
function getUrlParam1(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var url= (window.location);
var r = url.search.substr(1).match(reg);
if(r!=null){
// 去掉这个字符
var r=r[2];
return decodeURI(r);
}
return "";
}
function getUrlParam(name)
{
// 如果链接没有参数,或者链接中不存在我们要获取的参数,直接返回空
if (location.href.indexOf("?") == -1 || location.href.indexOf(name + '=') == -1) {
return '';
}
// 获取链接中参数部分
var queryString = location.href.substring(location.href.indexOf("?") + 1);
queryString = decodeURI(queryString);
//decodeURI 解码
//encodeURI 转码
// 分离参数对 ?key=value&key2=value2
var parameters = queryString.split("&");
var pos, paraName, paraValue;
for (var i = 0; i < parameters.length; i++) {
// 获取等号位置
pos = parameters[i].indexOf('=');
if (pos == -1) { continue; }
// 获取name 和 value
paraName = parameters[i].substring(0, pos);
paraValue = parameters[i].substring(pos + 1);
// 如果查询的name等于当前name,就返回当前值,同时,将链接中的+号还原成空格
if (paraName == name) {
return unescape(paraValue.replace(/\+/g, " "));
}
}
return '';
}
可以使用这两种方式....调用的时候给key就可以了
当然,也可以优化,一次性取出来,然后用map存起来,就不用每次都去遍历了.
其中,还需要注意的是 当需要获取从上个界面取到的数据的时候,安全是一个方面,还有一个就是注意编码和解码
//decodeURI 解码
//encodeURI 编码
就是这两个,,最好传递的时候先编码,这样就可以有效防止 当需要传递的数据中有%这个符号这样的关键字符....如果不事先编码,就会直接报错....(谨记!)
这篇关于js获取get请求后面的参数列表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!