您的位置:首页 > Web前端 > JavaScript

ajax向后台传递数组参数

2017-03-07 18:54 316 查看
ajax从后台获取数据是非常常用的一种方式,从后台获取数据会先往后台传递一些参数,以前传递的都是一些简单的字符串,今天在做页面数据的批量删除时需要向后台传递一组数据删除数据的编号,但是当把数组用data传递给后台后一直报错,后台用对应的String[] parameter获取,网上查了一下,说是要设置traditional为true来防止深度序列化,加入该参数后问题解决。下面附上主要代码

js代码:

$(document).on('click','#batchDelete',function(){
var checkObject = document.getElementsByName("allCheck");//获取所有复选框
var delId = [];
var i = 0;
for(k in checkObject){
if(checkObject[k].checked && i<checkObject.length){//选择选中的复选框
delId.push(checkObject[k].id.split("-")[1]);//将要删除的id加入数组
}
i++;
}
deleteAlarm(delId);
$("#queryBtn").click();
});

function deleteAlarm(delId){
 $.ajax({
type: "POST",
url:   xxxx,
cache: false,
traditional: "true",
async:false,

data:{"delId":delId},
dataType: "json",
success: function (ret) {

},
error: function (ret) {

}
});
}//traditional这个必须设置

java代码

@RequestMapping(value="deleteManyAlarm")
@ResponseBody
public Boolean deleteManyAlarm(@RequestParam String[] delId) throws Exception {
if(null!=delId) {
for(int i=0;i<delId.length;i++){
//删除操作的代码
}
return true;
}
return false;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ajax 数组 javascript