2009-07-21 41 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

相關問題