2009-07-21 97 views
4

查看location.search时,将查询参数转换为对象字面量的最佳方法是什么?说我有一个类似如下的URL:如何将URL查询参数转换为对象字面值?

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

我想与清盘是一个对象字面看起来像这样:

var params = { 
    nodeId : 2, 
    userId : 3, 
    sortOrder: name, 
    sequence: asc 
} 

所以我想这样做:

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]; 

};;

但这行:

params.param[0] = param[1] 

产生错误。如果您不知道密钥名称,您如何遍历这些密钥?

我们使用jQuery,我确定有一个插件可以做到这一点,但我想了解如何编程。

回答

3

您应该使用

params[ param[0] ] = param[1] 

仅供参考,你可以使用一个regex approach了。

+0

Doh!这正是我所期待的。谢谢! – Pete 2009-07-21 20:28:23

相关问题