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

发布于 2024-08-28 08:38:40 字数 542 浏览 8 评论 0原文

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

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

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

arrayParam: 100
arrayParam: 101 (etc..)

: 1.4.2 它们看起来像这样:

arrayParam[]: 100

这破坏了我的控制器,它期待 arrayParamList (并导致代码库周围出现一些 JSON 问题)。有没有办法解决这个问题,而不需要恢复到 1.3.2 或重新编程我的所有控制器?

谢谢

I just upgraded my jQuery from 1.3.2 to 1.4.2, and I think it's giving me some issues. I have a $.post() function that calls a controller method and passes along some data that I format like so:

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

In Firebug, the POST says the parameters in 1.3.2 look like this:

arrayParam: 100
arrayParam: 101 (etc..)

But for 1.4.2 they look like this:

arrayParam[]: 100

This is breaking my controller which is expecting a List<Int32> for arrayParam (and is causing some JSON issues around the codebase). Is there a way around this without either reverting back to 1.3.2 or reprogramming all of my controllers??

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

空气里的味道 2024-09-04 08:38:40

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

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

请参阅 jquery param 了解更多信息。

这是你的修复:

jQuery.ajaxSettings.traditional = true;

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 setting jQuery.ajaxSettings.traditional = true;.

jQuery's ajax methods use $.param() on the data that is passed in.

See jquery param for more info.

Here is your fix:

jQuery.ajaxSettings.traditional = true;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文