一、如图所示
var ids = [1,2,3,4,5,6,7]
$.ajax({
url: requestUrl,
type: 'delete',
data: JSON.stringify(ids),
traditional: true,
dataType: 'JSON',
success: function (arg) {
if (arg.status) {
// 显示正确信息
$('#handleStatus').text('执行成功');
setTimeout(function () {
$('#handleStatus').empty();
}, 5000);
} else {
// 显示错误信息
$('#handleStatus').text(arg.msg);
}
}
})
注释:通过traditional: true阻止深度序列化,并且直接发送JSON.stringify(ids)的数据。后台反序列化后得到的就是个字典形式的数据
二、如图所示
$.ajax{
url:"xxxx",
data:{
p: ["123", "456", "789"]
}
}
注释:默认的话,traditional为false,即jquery会深度序列化参数对象,以适应其他语言的框架(如PHP和Ruby on Rails框架,django框架),如字典里面嵌套列表格式就会变为
p: ["123", "456", "789"] => p[]=123&p[]=456&p[]=456,我们可以通过设置traditional 为true阻止深度序列化,然后序列化结果如下:p: ["123", "456", "789"]
=> p=123&p=456&p=456