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高级程序设计第三版》

  • 相关阅读:
    二级指针与二维数组
    Linux下常用命令
    winows下使用ssh服务远程登录vbox中的虚拟机
    Shell脚本获取C语言可执行程序返回值
    memcpy与memmove的区别
    常用软件
    书目
    顺序表C语言版
    限定符【const】用法大全
    极大极小搜索和α-β剪枝
  • 原文地址:https://www.cnblogs.com/ww03/p/5997580.html
Copyright © 2011-2022 走看看