首页 > 代码库 > 逐个访问URL的每个查询字符串参数
逐个访问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高级程序设计第三版》
逐个访问URL的每个查询字符串参数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。