首页 > 编程语言 > 详细

jQuery的ajax()、post()方法提交数组,参数[] 问题

时间:2019-11-28 15:55:08      阅读:81      评论:0      收藏:0      [点我收藏+]

当用$.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

jQuery的ajax()、post()方法提交数组,参数[] 问题

原文:https://www.cnblogs.com/cai170221/p/11950347.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!