我了解了如何使用 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/