我不确定为什么会发生这种情况。我有一个字符串数组,应该发送到需要字符串数组的 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/