jQuery Ajax 帖子将 null 发送到我的 MVC Controller

标签 jquery asp.net-mvc-3

我不确定为什么会发生这种情况。我有一个字符串数组,应该发送到需要字符串数组的 Controller 操作。这是我的 jQuery:

$.post("/@Model.Controller/@Model.Action", { "choices": ajax }, function (result) {
                $("#label" + "@Model.Id").html(result);
            });

这是我的 Controller 操作:

public JsonResult UpdateMultipleType(string[] choices)
    {
        return Json(choices);
    }

我查看了 Firebug 和“帖子”选项卡,标题如下:

Parametersapplication/x-www-form-urlencoded
choices[]   Comedy
choices[]   Thriller
choices[]   Action
choices[]   Adventure

我已经调试并确认它正在命中 UpdateMultipleType 并且调用该操作时字符串数组“choices”为空。调用成功,但由于我们返回 null,因此在调用完成后我收到了 Javascript 错误。

我不知道为什么我的 Controller 操作被发送为空,因为很明显有一个名为“choices”的数组正在发送。

最佳答案

您需要告诉 jQuery 使用传统的方式构建 ajax 数据。

将其放入您的文档中:

jQuery.ajaxSettings.traditional = true;

关于jQuery Ajax 帖子将 null 发送到我的 MVC Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6737408/

相关文章:

javascript - Fabricjs:用图像图案填充 svg

c# - 如何在 MVC3 中更新部分显示 View

c# - 将数据从 View 传递到 Controller (MVC 3)

c# - 如何使 Controller 中的缓存数据 [OutputCache] 失效?

jquery - .ajaxStart 和 .ajaxStop 由于某些奇怪的原因未触发

Javascript添加类并保持原始

javascript - jqGrid 在编辑时访问单元格数据

c# - 访问 javascript 文件中的模型属性?

ninject - 为什么从 NuPack 生成的 NinjectMVC3.cs 无法编译? (或者 ASP.NET MVC 3 Beta 中的 MvcServiceLocator 发生了什么?)

javascript - JQuery 无法识别 #id 选择器,似乎依赖于 URL