//定义一个数组
var
selectCount=[];
$.ajax({
url:'/bb/aaa',
type:'post',
dateType:'json',
traditional:true,
//注意这个地方
data:{
'selectCount':selectCount
},
success:function(res){
},
error:function(res){
}
});
查看jquery文档
有如下解释(访问地址:http://www.w3school.com.cn/jquery/ajax_param.asp):
param() 方法创建数组或对象的序列化表示。
该序列化值可在进行 AJAX 请求时在 URL 查询字符串中使用。
语法
jQuery.param(object,traditional)
参数 | 描述 |
---|---|
object | 要进行序列化的数组或对象。 |
traditional | 规定是否使用传统的方式浅层进行序列化(参数序列化)。 |
详细说明
param() 方法用于在内部将元素值转换为序列化的字符串表示。请参阅 .serialize() 了解更多信息。
对于 jQuery 1.3,如果传递的参数是一个函数,那么用 .param() 会得到这个函数的返回值,而不是把这个函数作为一个字符串来返回。
对于 jQuery 1.4,.param() 方法将会通过深度递归的方式序列化对象,以便符合现代化脚本语言的需求,比如 PHP、Ruby on Rails 等。你可以通过设置 jQuery.ajaxSettings.traditional = true; 来全局地禁用这个功能。
如果被传递的对象在数组中,则必须是以 .serializeArray() 的返回值为格式的对象数组:
[{name:"first",value:"Rick"}, {name:"last",value:"Astley"}, {name:"job",value:"Rock Star"}]
注意:因为有些框架在解析序列化数字的时候能力有限,所以当传递一些含有对象或嵌套数组的数组作为参数时,请务必小心!
在后台spring
@RequestMapping(value="/aaa",method=RequestMethod.POST)
@ResponseBody
public ResultData aaa(HttpServletRequest request,HttpServletResponse response,@RequestParam(value="selectCount[]")String[]
selectCount){
System.out.println(selectCount);
return null;
}
好了,处理完毕,如果各位处理有问题,请在下面评论,看到会回复