jQuery的ajax()、post()方法提交数组,参数[] 问题
當用$.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(){
});
?
轉載:?http://blog.csdn.net/thc1987/article/details/7278269
轉載于:https://www.cnblogs.com/garfieldzhong/p/5124589.html
總結
以上是生活随笔為你收集整理的jQuery的ajax()、post()方法提交数组,参数[] 问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Caused by: java.lang
- 下一篇: html5网页动画总结--jQuery旋