js获取url地址栏传递的参数值

 

<script type="text/javascript">

$(function () {

        var rid = UrlParam.paramValues("id");

        var rname = UrlParam.paramValues("name");

        //比如你地址栏写了一个"什么".html?id=1&name=bruce

        alert(rid);

        alert(rname);

        //alert结果就为1和bruce

});

 

UrlParam = function () { // url参数

            var data, index;

            (function init() {

                data = []; //值,如[["1","2"],["zhangsan"],["lisi"]]

                index = {}; //键:索引,如{a:0,b:1,c:2}

                var u = window.location.search.substr(1);

                if (u != '') {

                    var params = decodeURIComponent(u).split('&');

                    for (var i = 0, len = params.length; i < len; i++) {

                        if (params[i] != '') {

                            var p = params[i].split("=");

                            if (p.length == 1 || (p.length == 2 && p[1] == '')) {// p | p= | =

                                data.push(['']);

                                index[p[0]] = data.length - 1;

                            } else if (typeof (p[0]) == 'undefined' || p[0] == '') { // =c 舍弃

                                continue;

                            } else if (typeof (index[p[0]]) == 'undefined') { // c=aaa

                                data.push([p[1]]);

                                index[p[0]] = data.length - 1;

                            } else {// c=aaa

                                data[index[p[0]]].push(p[1]);

                            }

                        }

                    }

                }

            })();

            return {

                // 获得参数,类似request.getParameter()

                param: function (o) { // o: 参数名或者参数次序

                    try {

                        return (typeof (o) == 'number' ? data[o][0] : data[index[o]][0]);

                    } catch (e) {

                    }

                },

                //获得参数组, 类似request.getParameterValues()

                paramValues: function (o) { // o: 参数名或者参数次序

                    try {

                        return (typeof (o) == 'number' ? data[o] : data[index[o]]);

                    } catch (e) { }

                },

                //是否含有paramName参数

                hasParam: function (paramName) {

                    return typeof (paramName) == 'string' ? typeof (index[paramName]) != 'undefined' : false;

                },

                // 获得参数Map ,类似request.getParameterMap()

                paramMap: function () {

                    var map = {};

                    try {

                        for (var p in index) { map[p] = data[index[p]]; }

                    } catch (e) { }

                    return map;

                }

            }

        }();

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值