你知道什么是“传统风格的param序列化”jQuery.ajax()如 http://api.jquery.com/jQuery.ajax/提到的? 你能介绍一下吗? 谢谢 看看 jQuery.param() :的文档 As of jQuery 1.4, the $.param() method serializes deep obj
你能介绍一下吗?
谢谢
看看jQuery.param()
:的文档
As of jQuery 1.4, the
$.param()
method serializes deep objects recursively to accommodate modern scripting languages and frameworks such as PHP and Ruby on Rails. You can disable this functionality globally by settingjQuery.ajaxSettings.traditional = true;
.
给定
var p = {foo: [1,2,3], bar: 42};
将传统设置为true生成
foo=1&foo=2&foo=3&bar=42
而例如。 Python可以处理这些参数,即它生成一个foo的列表,PHP将只考虑最后一个foo参数。
但现在默认情况下,序列化的结果是(实际上是URI编码)
foo[]=1&foo[]=2&foo[]=3&bar=42
这可以更好地处理,如提到的,通过PHP和RoR。
或者甚至更有趣的是这。给定:
var p = {foo: {1: [3,4], 2:2,3:3}, bar: 42};
传统生产:
foo=[object Object]&bar=42
这与“新”方式相比显然没有用:
foo[1][]=3&foo[1][]=4&foo[2]=2&foo[3]=3&bar=42