Передача массива из jQuery в MVC.NET Controller дает нулевой результат на контроллере, но значения присутствуют в функции jQuery - PullRequest
7 голосов
/ 02 апреля 2011

Я пытаюсь передать массив из функции jQuery в мой контроллер. Массив содержит содержимое и идентификатор div, содержащего это содержимое.

Когда я проверяю объекты, которые отправляются через пост AJAX в Firebug, правильные значения есть, но после размещения точки останова на моем контроллере получаемое значение представляет собой пустой список или массив или любой другой тип, который я пытаюсь установить. Я довольно плохо знаком с использованием JSON для передачи данных на мои контроллеры, поэтому был бы признателен за помощь в том, что я делаю не так.

Функция 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);
            }
        });
    }

Проверка приема контроллера

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

Ответы [ 2 ]

5 голосов
/ 03 апреля 2013

Я получил это, установив традиционное свойство в true перед выполнением вызова get.то есть:

jQuery.ajaxSettings.traditional = true

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

Я нашел решение здесь: Передать массив в mvc Action через AJAX

1 голос
/ 02 апреля 2011

Вы можете взглянуть на следующую запись в блоге .Надеюсь, это прояснит ситуацию.В основном это два случая: ASP.NET MVC 3, где вы можете отправлять запросы JSON на действия контроллера из коробки, и предыдущие версии ASP.NET MVC, где вам нужно использовать пользовательский JsonValueProviderFactory.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...