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

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

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

【问题讨论】:

标签: jquery asp.net-mvc asp.net-ajax


【解决方案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 ,也许我的例子有误导性,我会更新它
猜你喜欢
  • 2016-04-14
  • 2010-12-29
  • 2016-12-27
  • 1970-01-01
  • 1970-01-01
  • 2014-11-15
  • 1970-01-01
  • 2010-11-02
  • 1970-01-01
相关资源
最近更新 更多