2013-03-01 64 views
-2

我想將對象串化爲查詢字符串。如何將對象轉換爲查詢字符串?

例如,

{ hello: '123', goodbye: "789" } 

能給我...

hello=123&goodbye=789 
+0

它應該是循環和連接可行的。不過,我認爲我沒有遇到過內置的JS函數。 – nhahtdh 2013-03-01 18:30:18

+0

[Serialize對象在JavaScript/jQuery中查詢字符串]的可能重複(http://stackoverflow.com/questions/3308846/serialize-json-to-query-string-in-javascript-jquery) – 2014-06-22 04:07:24

回答

5

有一位優秀的URL庫,URL.js這工作你描述的查詢漂亮多了。

對於示例,代碼將是:

URI().addSearch({ hello: '123', goodbye: "789" }).toString() 

這就產生了預先計劃?的結果,但它有非常方便的構建&操縱真實的URL。

+0

+1用於回答實際問題。 – 2013-03-01 18:33:50

+0

+1好圖書館 – karaxuna 2013-03-01 18:33:56

4

如果,如果你在項目中使用jQuery的情況下,你不需要爲這一個lib:

$.param({ hello: '123', goodbye: "789" }) 

但因爲沒有jQuery的標籤,看看Barney答案,這可能是你需要。

0

這裏是一個簡單的情況下,一個代碼示例:

var params={ hello: '123', goodbye: "789" }, 
    pairs=[]; 
for (var key in params) { 
    if (params.hasOwnProperty(key)) { 
     pairs.push(key+"="+encodeURIComponent(params[key])); 
    } 
}; 
var qs=pairs.join("&"); 

對於您可能希望使用圖書館像URLjs在其他答覆建議更復雜的情況。