jQuery AJAX 与传统 true 一起使用好吗?

Posted

技术标签:

【中文标题】jQuery AJAX 与传统 true 一起使用好吗?【英文标题】:Is it good to use jQuery AJAX with traditional true? 【发布时间】:2015-09-18 01:37:51 【问题描述】:

首先,我不知道传统在 Ajax 设置中的含义, 其次,在 ASP MVC 中是否需要将其设置为 true?

根据名称,我相信它很快就会贬值?不是吗?

【问题讨论】:

请不要破坏您的帖子。 请不要仅仅为了删除问题而取消接受您的回答。相反,请阅读此meta.stackexchange.com/questions/42265/… 那么如何删除呢?或者我不能?? 您访问了该链接吗?它解释了一切。 甚至链接问题meta.stackexchange.com/questions/25088/… 【参考方案1】:

jQuery API 文档

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

传统

类型:布尔值

如果您希望使用 param serialization的传统风格。

让我们看看下面,tranditional 标志改变了参数发送到服务器的方式

对于 PHP 开发人员

$.ajax(url, 
   data :  a : [1,2,3] ,
   traditional : false
));
// `data` are sent as "a[]=1&a[]=2&a[]=3"

对于 ASP.NET MVC 开发人员

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

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

如您所见,根据您的服务器端语言设置traditional 标志很重要。

所以我想,它不会在不久的将来被弃用。

【讨论】:

As of jQuery 1.8, the $.param() method no longer uses jQuery.ajaxSettings.traditional as its default setting and will default to false. For best compatibility across versions, call $.param() with an explicit value for the second argument and do not use defaults. 我仅将$.param() 用于演示目的。而在实现中,您需要在调用$.ajax时显式设置traditional 这是您提供的链接中的复制粘贴,以更加强调您关于弃用的最后一行 服务器端语言很重要,但我认为这不是主要原因。我没有使用 jQuery.param,我正在考虑在 $.ajax 中使用它 ASP.NET MVC 不会将 a[]=1&a[]=2&a[]=3 绑定到 int[] a ,也许我的例子有误导性,我会更新它

以上是关于jQuery AJAX 与传统 true 一起使用好吗?的主要内容,如果未能解决你的问题,请参考以下文章

IBM 表单设计器并使 jQuery 与 Dojo 一起工作

jQuery - 将验证插件与 AJAX 表单插件一起使用

将 json 与 jquery Ajax 一起使用不会返回任何内容

你有任何与 jQuery 一起使用的 Ajax 加载图像的想法吗?

jQuery.Ajax与Ajax.beginform一起使用不引人注目的JavaScript

将 Bootstrap validator.js 与 Jquery ajax 表单发布一起使用