ajax发送js类型的数据

一、如图所示

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
原文地址:https://www.cnblogs.com/xuanan/p/7678632.html