【发布时间】:2011-01-11 23:51:09
【问题描述】:
这有点啰嗦,但也是一个非常严肃的问题。 jQuery 对 ajax 参数序列化做了如下改动:
jQuery 1.4 在 jQuery.param 中添加了对嵌套参数序列化的支持,使用 PHP 普及的方法,Ruby on Rails 支持。例如,{foo: ["bar", "baz"]} 将被序列化为“foo[]=bar&foo[]=baz”。
你听懂了吗?
你调用你的参数foo。如果 foo 的值是一个数组,jQuery 现在会将它重命名为 foo[]。这样做的原因是因为一些 PHP 开发者和 Ruby 开发者希望 3rd 方 API 为他们重命名。
称我为老式的,但是当我使用键 x 将某些内容放入地图时,我希望在 x 下找到值。或者至少让这个默认行为带有一个可选的覆盖。
即使是文档也同意我的观点:
如果 value 是一个数组,jQuery 序列化多个相同的值 键即 {foo:["bar1", "bar2"]} 变成'&foo=bar1&foo=bar2'。
我认为这只是 jQuery 团队的错误判断是否正确?
【问题讨论】:
标签: jquery api-design