2010-04-08 101 views
4

我剛剛將我的jQuery從1.3.2升級到1.4.2,我認爲它給了我一些問題。我有一個$.post()函數調用控制器方法,並沿着I格式,像這樣的一些數據傳遞:jQuery 1.4.2打破以前在1.3.2中工作的JSON格式

$.post(url, { arrayParam: myArray, param2: false }, someCallback, 'html'); 

在Firebug中,在POST說,在1.3.2看起來像這樣的參數:

arrayParam: 100 
arrayParam: 101 (etc..) 

但對於1.4.2,就像這樣:

arrayParam[]: 100 

這是打破我的控制器,期待爲arrayParam(一List<Int32>,並導致小號圍繞代碼庫的JSON問題)。有沒有辦法解決這個問題,而沒有恢復到1.3.2或重新編程我的所有控制器?

感謝

回答

9

在jQuery 1.4中,$ .PARAM()方法遞歸序列化對象深,以適應現代腳本語言和框架,如PHP和Ruby on Rails。您可以通過設置jQuery.ajaxSettings.traditional = true;來全局禁用此功能。

jQuery的AJAX方法使用$ .PARAM()對傳入的數據。

更多信息,請參見jquery param

這是你的解決辦法:

jQuery.ajaxSettings.traditional = true; 
+0

這是正確的。這次真是萬分感謝! – Jason 2010-04-08 21:43:47

相關問題