[jQuery] 使用 param() 函式組出 URL 參數部分

[jQuery] 使用 param() 函式組出 URL 參數部分

最近有個需求,想要從一個 JavaScript 的 map 中,

組出類似下面的 URL 參數列:

a=1&b=2&b=3&c=4

 

map 的內容是像下面這樣:

var data = {
"a": 1,
"b": [2, 3],
"c": 4
}

 

當然你可以自己用 for 把 map 裡面的東西都拿出來,自己組出參數列,

不過其實 jQuery 已經提供了 param() 函式來作這件事了~

這邊我們會用到它的 param(obj, traditional) 版本~

利用 param() 寫出下面的程式,就能組出 a=1&b=2&b=3&c=4 這個字串: 

$.param(data, true)

 

如果沒有給 tranditional 參數的話,也就是一般的 $.param() 的話,

結果就會變成:

a=1&b%5B%5D=2&b%5B%5D=3&c=4

 

解碼後其實是代表 a=1&b[]=2&b[]=3&c=4,

不過這就要看後端的 web server 是否能處理這樣的 request 囉~

 

(本頁面已被瀏覽過 52 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料