javascript - 获取重复 GET 变量的查询字符串值

标签 javascript jquery get query-string

我了解了如何使用 Javascript 和 jQuery 解析查询字符串信息(GET 变量)。这里有两个不同的例子(我一直喜欢第二个):

How can I get query string values in JavaScript?

jquery get querystring from URL

问题是我有一个查询字符串,它有两个相同的 GET 变量(它们都称为“搜索”)。当我从第一个答案运行函数时,它只返回“搜索”GET 变量的第一个实例,第二个答案只返回最后一个“搜索”GET 变量。一个示例查询字符串是:

http://www.example.com?search=this&search=that

我做了一些搜索,这个线程中有一个答案似乎可以解决这个问题:

https://gist.github.com/kares/956897

但我不知道如何按照它的编写方式来实现它。我基本上是在寻找一个可以解析查询字符串并返回与特定 GET 变量匹配的所有(如果有的话)值的函数(在本例中为“搜索”;在上面的示例中,它将返回“this”和“that” ).

感谢您的帮助!

最佳答案

这应该可以解决问题:

var params = location.search.substr(1).split('&'),
    results = {};

for(var i = 0; i < params.length; i++)
{
    var temp = params[i].split('='),
        key = temp[0],
        val = temp[1];

    results[key] = results[key] || [];
    results[key].push(val);
}

console.log(results); // { search: ["a", "b"] }

关于javascript - 获取重复 GET 变量的查询字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20580337/

相关文章:

javascript - ExtJS。在渲染时加载商店

javascript - Jquery 设置计数器,但在调用函数时重置

jquery - 平滑 Div 滚动左侧热点显示光标,但不滚动,右侧速度过快

php - 将 MySQL 结果转换为链接,然后使用 POST 重定向到下一页

node.js - 在 Node 中仅获取 GET 请求的 header

PowerShell HTTPS GET 使用来自 certstore 的客户端证书

javascript - jQuery 查找并替换第二个

javascript - 焦点不隐藏浏览器后退按钮上的提示(jquery.hint.js)

javascript fullcalendar 日期时间搞砸了

javascript - 如何使此下拉菜单在单击后处于事件状态?触摸后不