jquery - 将数组从 jQuery 传递到 MVC.NET Controller ,在 Controller 上给出 null 结果,但 jQuery 函数上存在值

标签 jquery asp.net-mvc ajax json post

我正在尝试将数组从 jQuery 函数传递到我的 Controller 。该数组包含内容和保存该内容的 div 的 id。

当我检查通过 Firebug 中的 AJAX post 发送的对象时,那里有正确的值,但在我的 Controller 上放置断点后,收到的值是一个空列表或数组或我尝试将其设置为的任何类型。我对使用 JSON 将数据传递到 Controller 还很陌生,因此希望在我出错的地方得到一些帮助。

单击“提交”时调用的 jQuery 函数。该数组在我的脚本中全局声明,并在每次新区域填充内容时添加到其中。

function postContent() {
        $.ajax({
            type: "POST",
            datatype: 'json',
            url: "/Admin/getContentArray",
            data: JSON.stringify(contentArray),
            contentType: 'application/json; charset=utf-8',
            success: function (result) {
                alert(result.Result);
            }
        });
    }

测试接收 Controller

[HttpPost]
    public JsonResult getContentArray(List<Content> myPassedArray)
    {
        var data = myPassedArray;
        return this.Json(null);
    }

最佳答案

我通过在进行 get 调用之前将传统属性设置为 true 来实现此功能。即:

jQuery.ajaxSettings.traditional = true

$.get('/controller/MyAction', { vals: arrayOfValues }, function (data) {... 

我在这里找到了解决方案:Pass array to mvc Action via AJAX

关于jquery - 将数组从 jQuery 传递到 MVC.NET Controller ,在 Controller 上给出 null 结果,但 jQuery 函数上存在值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5525053/

相关文章:

选择器何时存在的 jQuery 事件委托(delegate)?

javascript - 将 JQuery 变量传递给 Javascript 函数

javascript - 如何将 FormData 附加到 XMLHttpRequest

c# - 在 ASP.NET MVC 5 中从数据库加载 Razor View

asp.net core 2.0 - 值不能为空。参数名称: connectionString

php - ajax调用php文件

javascript - 加载多个 jQuery 版本

JQuery 'on' 与 'live'

c# - MVC 需要 TagHelper 使用 FluentValidation ASPNET Core

ajax - Chrome Beta 8 禁用 Google Chrome --allow-file-access-from-files