當用$.ajax()向后台提交參數時,如果參數中數組的話一般在后台會用List,或Integer[] 等數組對象進行接收.
比如:
$.ajax({
type: "POST",
url: url,
data:{ gender:[0,1] },
dataType: "json",
async:false
});
這里有個查詢性別的gender數組.
用火狐的firebug查看post數據的時候,如果jquery版本過高會發現gender按以下類型提交
schGender[] 1
schGender[]
0
也就是說它把數組里面的每個元素都當成了數組了. 這樣傳到后台就會報錯了.
解決辦法是換低版本的jquery,我這里換成1.3.2就沒問題了(不推薦). 之后再查看POST數據就是:
schGender 1
schGender
0
最好的解決辦法是添加一個屬性
traditional:true
$.ajax({
type: "POST",
url: url,
traditional:true,
data:{ gender:[0,1] },
dataType: "json",
async:false
});
OR
jQuery.ajaxSettings.traditional = true;
$.post(url,function(){
});
轉載:https://www.cnblogs.com/garfieldzhong/p/5124589.html