只需要在参数后面加 "" 就可以传递数组了
function sendArray() {
var strArray = ["A","B","C","D"];
var numArray = [1,2,3,4];
$.ajax({
url:"sendArray",
type:"post",
data:{
strArray:strArray+"",
numArray:numArray+""
},
dataType:"json",
success:function (suc) {
console.log(suc);
},
error:function (err) {
console.log(err);
}
});
}
sendArray();
或者开启Ajax防止深度序列化traditional: true
function sendArray() {
var strArray = ["A","B","C","D"];
var numArray = [1,2,3,4];
$.ajax({
url:"sendArray",
type:"post",
data:{
strArray:strArray,
numArray:numArray
},
traditional: true,//防止深度序列化
dataType:"json",
success:function (suc) {
console.log(suc);
},
error:function (err) {
console.log(err);
}
});
}
sendArray();
后台接收
@RequestMapping("/sendArray")
@ResponseBody
public String sendArray(String[] strArray, Integer[] numArray) {
System.out.println("strArray:"+strArray[0]+","+strArray[1]+","+strArray[2]);
System.out.println("numArray:"+numArray[0]+","+numArray[1]+","+numArray[2]);
return "成功";
}