如何将 URL 查询参数获取到对象文字中?

Pet*_*ete 5 javascript jquery

在查看 location.search 时,获取查询参数并将其转换为对象文字的最佳方法是什么?假设我有一个如下所示的 URL:

http://foo.com?nodeId=2&userId=3&sortOrder=name&sequence=asc

我想要得到的是一个如下所示的对象文字:

var params = {
  nodeId : 2,
  userId : 3,
  sortOrder: name,
  sequence: asc
}
Run Code Online (Sandbox Code Playgroud)

所以我想做这样的事情:

var url = location.search;
url = url.replace('?', '');
var queries = url.split('&');
var params = {};
for(var q in queries) {
var param = queries[q].split('=');
params.param[0] = param[1];
Run Code Online (Sandbox Code Playgroud)

};

但这行:

params.param[0] = param[1]
Run Code Online (Sandbox Code Playgroud)

产生错误。如果您不知道键名称,如何迭代这些键?

我们正在使用 jQuery,我确信有一个插件可以做到这一点,但我还是想了解如何对此进行编程。

set*_*eth 3

你应该使用

params[ param[0] ] = param[1]
Run Code Online (Sandbox Code Playgroud)

仅供参考,您也可以使用正则表达式方法