zoukankan      html  css  js  c++  java
  • 逐个访问URL的每个查询字符串参数

      下面介绍一个函数,用于处理location.search的结果,以解析查询字符串,然后返回包含所有参数的一个对象。

      比如  www.baidu.com?q=javascript&num=10 的访问地址,

                其中location.search 查询字符串为 ?q=javascript&num=10 ,

                解析后的结果为对象 {q:"javascript", num: 10},然后就可以通过对象的访问,取得每一个查询参数值。具体实现如下:

            function getQueryStringArgs() {
                var qs = (location.search.length > 0 ? location.search.substring(1) : ""), //取得查询字符串并去掉开头的问号
                    args = {}, //保存数据的对象
                    items = qs.length ? qs.split("&") : [], //根据和号(&)来分割查询字符串,并返回name=value 格式的字符串数组
                    item = null,
                    name = null,
                    value = null,
                    i = 0,
                    len = items.length;
    
                //逐个将每一项添加到args 对象中
                for (i = 0; i < len; i++) {
                    item = items[i].split("=");
                    name = decodeURIComponent(item[0]);
                    value = decodeURIComponent(item[1]);
                    if (name.length) {
                        args[name] = value;
                    }
                }
                return args;
            }

    下面给出了使用这个函数的示例:

            //假设查询字符串是?q=javascript&num=10
            var args = getQueryStringArgs();
            console.log(args["q"]); //"javascript"
            console.log(args["num"]); //"10"

    文章参考自《JavaScript高级程序设计第三版》

  • 相关阅读:
    1082 射击比赛 (20 分)
    1091 N-自守数 (15 分)
    1064 朋友数 (20 分)
    1031 查验身份证 (15 分)
    1028 人口普查 (20 分)
    1059 C语言竞赛 (20 分)
    1083 是否存在相等的差 (20 分)
    1077 互评成绩计算 (20 分)
    792. 高精度减法
    791. 高精度加法
  • 原文地址:https://www.cnblogs.com/ww03/p/5997580.html
Copyright © 2011-2022 走看看