traditional:true 选项和 Ajax 调用中的 false 有什么区别?

What´s the difference between traditional:true option and false in Ajax call?

所有这些都是为了解决 MVC 控制器的问题。

这是ajax的代码:

 $.ajax({
            //tipo de transferencia
            type: "POST",
            //dato a enviar
            dataType: 'Json',
            traditional:true,
            //enviar variable previamente formada contiene la estructura del modelo
            data:data,

            //liga previamente asignada esta liga contiene  la ruta controlador-metodo
            url: url,

注意 traditional:true.

jQuery API 文档

http://api.jquery.com/jQuery.Ajax/#jQuery-ajax-settings

traditional

Type: Boolean

Set this to true if you wish to use the traditional style of param serialization.

traditional 属性 改变了参数发送到服务器的方式。从 jQuery 1.8 开始,它默认为 false。

对于 ASP.NET MVC 开发人员

$.ajax(url, {
   data : { a : [1,2,3] },
   traditional : true
}));

// `data` are sent as "a=1&a=2&a=3" 

如果 traditional 设置为 false,则数据将作为 a%5B%5D=1&a%5B%5D=2&a%5B%5D=3

发送

答案改编自