jQuery的ajax()、post()方法提交数组,参数[] 问题
2016-01-12 15:54
766 查看
当用$.ajax()向后台提交参数时,如果参数中数组的话一般在后台会用List,或Integer[] 等数组对象进行接收.
比如:
$.ajax({
type: "POST",
url: url,
data:{ gender:[0,1] },
dataType: "json",
async:false
});
这里有个查询性别的gender数组.
用火狐的firebug查看post数据的时候,如果jquery版本过高会发现gender按以下类型提交
schGender[]
schGender[]
schGender
schGender
最好的解决办法是添加一个属性
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
比如:
$.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
相关文章推荐
- 12-7jquery选择器学习
- JQuery的函数“$(function() {})”的含义及与“$(document).ready(function(){})”的区别
- jquery的过滤学习
- jqueryMobile使用示例分享
- jquery的extend和fn.extend
- jQuery.fn.extend
- IDEA / WebStorm / PhpStorm 添加jQuery自动提示,自动补全,提示文档
- [转]jQuery 读取 xml
- jquery为表格添加行,jquery读取表格数据
- Jquery ajax方法解析返回的json数据
- jQuery链式调用
- jquery1.8.3升级到2.1.4遇到的几个问题
- Jquery的方法(二)
- jQuery事件绑定on()、bind()与delegate() 方法详解
- js jquery 实现间歇发送短信验证
- js(jQuery)获取时间的方法及常用时间类
- jQuery Validation Plugin使用过程中需要注意的地方
- jQuery全选选择器(基本上来自慕课网)
- 常见jquery 获取控件值,Table内控件值
- jquery实现循环向上滚动