背景:
前端获取复选框的数据准备用一个数组传回到后台,但后台就是接受不到。
原因分析:
前端查看参数,参数中变量名会多一个[],这是后台接不到的原因:
解决:
在ajax代码参数中增加traditional(防止深度序列化)并设置为true
$.ajax({
url: url,
data: data,
type: "POST",
dataType: "JSON",
cache: false,
traditional: true,//这里设置为true
beforeSend: function (xhr) {
openMask();
},
complete: function (xhr, ts) {
closeMask();
},
success: function (data) {
var flag = data.flag;
if (flag) {//验证成功
$.messager.alert('提示', data.msg, 'info', successFunction);
} else {//验证失败
$.messager.alert('错误', data.msg, 'error');
}
}
});
这样传输的数据就变为了:
后台可以直接用一个数组接收。