ajax的traditional属性

$.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();
    }

});

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

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

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

你可能感兴趣的:(UI)