gpt4 book ai didi

jQuery 1.4.2 JSON 格式打破了 1.3.2 中过去的工作方式

转载 作者:行者123 更新时间:2023-11-30 23:58:43 25 4
gpt4 key购买 nike

我刚刚将 jQuery 从 1.3.2 升级到 1.4.2,我认为这给我带来了一些问题。我有一个$.post()调用 Controller 方法并传递一些我格式化的数据的函数,如下所示:

$.post(url, { arrayParam: myArray, param2: false }, someCallback, 'html');

在 Firebug 中,POST 表示 1.3.2 中的参数如下所示:

arrayParam: 100
arrayParam: 101 (etc..)

但是对于 1.4.2,它们看起来像这样:

arrayParam[]: 100

这破坏了我的 Controller ,它期待 List<Int32>对于 arrayParam (并且导致代码库出现一些 JSON 问题)。有没有办法解决这个问题,而不需要恢复到 1.3.2 或重新编程我的所有 Controller ?

谢谢

最佳答案

从 jQuery 1.4 开始,$.param() 方法递归地序列化深层对象,以适应现代脚本语言和框架,例如 PHP 和 Ruby on Rails。您可以通过设置 jQuery.ajaxSettings.traditional = true; 来全局禁用此功能。

jQuery 的 ajax 方法对传入的数据使用 $.param()。

参见jquery param了解更多信息。

这是您的修复:

jQuery.ajaxSettings.traditional = true;

关于jQuery 1.4.2 JSON 格式打破了 1.3.2 中过去的工作方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2603553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com