Ajax参数contentType和dataType及traditional说明

Posted 键盘tops舞者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ajax参数contentType和dataType及traditional说明相关的知识,希望对你有一定的参考价值。

contentType: 告诉服务器,我要发什么类型的数据

dataType:告诉服务器,我要想什么类型的数据,如果没有指定,那么会自动推断是返回 XML,还是JSON,还是script,还是String。$.ajax(
    type: 'post',
    url: "/eventVmChange/eventVmChange-confirmChange.html", /*确认变更*/
    dataType: 'json',
    //防止深度序列化
    traditional: true,

    data: "idList": idList,
    success: function ()
        mini.alert("变更成功");
        self.vmConfDetection.reload();
    ,
    error: function ()
        mini.alert("变更失败");
        self.vmConfDetection.reload();
    );

   traditional: true, 防止深度序列化  

这个idList 是复选框选中记录的一个数组,在没有加上traditional:true之前,jquery.param()解析出错了,后台获取到的idList为空

查询这个属性得知,这个属性默认是false,jquery会深度序列化这个对象,以适应php等框架,我们可以通过设置tradtional为true阻止深度序列化

这样以后碰到复选框传多个id的时候就不用前台拼后台spilt了,直接用ajax的traditional属性,传过去一个数组,后台直接一个List<Long> idList接受即可。非常方便。
 

以上是关于Ajax参数contentType和dataType及traditional说明的主要内容,如果未能解决你的问题,请参考以下文章

Jquery的Ajax中contentType和dataType的区别

jquery ajax中的DataType vs ContentType [重复]

Ajax请求中,contentType和dataType的区别

Ajax中contentType和dataType区别

关于后台接收参数为null的问题之ajax--contentType

$.ajax 中的contentType 坑坑