2012-04-26 46 views
0

我想調用jquery ajax函數並傳入數據。我知道數據應該被格式化爲一個查詢字符串。如果我傳入類似$(':checked')的數據作爲數據,那麼它將被格式化爲tagname=value1&tagname=value2...etc,這很好。將關聯數組傳遞給jquery ajax函數

現在,我想用一個有一些整數的關聯數組替換jquery結果,我得到了value1=true$value2=true。這不是我想要的。

如何使用一個鍵傳遞給jquery ajax調用來格式化關聯數組?

+0

這個關聯數組來自哪裏?手工製作或JQuery輸出?如果是JQuery輸出,則替換$ for&將完成這項工作。 – 2012-04-26 19:23:00

回答

1

好吧,我有一個解決方案,我想通了。我創建了下面的功能,它返回一個可以傳遞在作爲數據的jquery AJAX功能的數組:

function() { 
    var kvArray = []; 
    for (x in MyAssociativeArray) { 
     var kv = {}; 
     kv.name = "NameIWantToAssign"; 
     kv.value = x; 
     kvArray.push(kv); 
    } 

    return kvArray; 
}; 

訣竅是使用。名稱和。價值性質。我計上心來閱讀下面的jQuery的文檔後:

如果傳遞的對象是一個Array,它必須是物體在()由.serializeArray返回的格式

[{name:"first",value:"Rick"}, 
{name:"last",value:"Astley"}, 
{name:"job",value:"Rock Star"}] 

有一個數組可能更好的方法。如果您知道,請發表評論或提供其他答案。