当前位置:  开发笔记 > 编程语言 > 正文

在JQuery 1.4.2 .ajax中转换JSON错误

如何解决《在JQuery1.4.2.ajax中转换JSON错误》经验,为你挑选了1个好方法。

我的代码在JQuery 1.3.2中运行良好,但在1.4.2中它似乎被打破了.它应该在帖子中得到的是这样的:

?pks=108;pks=107

我现在得到的是:

?pks[]=108;pks[]=107;

当我跟踪这段代码时,JSON对象似乎没问题,直到它进入.ajax.收到回复后,Firebug显示帖子是:

Parameters  application/x-www-form-urlencoded
pks[]   108
pks[]   107
Source
pks%5B%5D=108&pks%5B%5D=107

这不是我在JQuery 1.3.2上得到的.那些额外的牙套来自哪里?



1> Amadiere..:

JQuery的1.4 发布了一个变化的嵌套PARAM系列化.从他们的网站:

jQuery 1.4在jQuery.param中添加了对嵌套param序列化的支持,使用PHP推广的方法,并由Ruby on Rails支持.例如,{foo:["bar","baz"]}将被序列化为"foo [] = bar&foo [] = baz".

在jQuery 1.3中,{foo:["bar","baz"]}被序列化为"foo = bar&foo = baz".但是,使用这种方法无法对单元素阵列进行编码.如果您需要旧的行为,可以通过设置传统的Ajax设置(jQuery.ajaxSettings.traditional通过传统标志全局通过或根据具体情况)将其重新打开.

[]支架通常用来表示一个数组,这似乎是他们正在努力使更加明显在这里我觉得(作为查询字符串,可以读取看到一个价值正在被其他覆盖)的东西.

编辑:我想你可能会按照他们的建议使用:

// Globally set it to use the old 1.3.* way of doing things.
jQuery.ajaxSettings.traditional = true;

// Enables the 1.3.* way for a single Ajax request only
$.ajax({ data: stuff, traditional: true });

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有