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 idList接受即可。非常方便。
 

你可能感兴趣的:(Ajax参数contentType和dataType及traditional说明)