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 编码

就是这两个,,最好传递的时候先编码,这样就可以有效防止 当需要传递的数据中有%这个符号这样的关键字符....如果不事先编码,就会直接报错....(谨记!)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值