Публикация JSON MVC Single String всегда возвращается в ноль в контроллере - PullRequest
1 голос
/ 24 марта 2019

Я столкнулся со странной проблемой в моем приложении MVC 5, где я хочу передать выбранное значение Drop Down в контроллер с помощью сообщения Ajax.

Почтовый индекс выглядит так:

$(function () {
    //Change the Value stream list each time the BU is selected
    $('#Lob').change(function () {   

        alert(JSON.stringify($('#Lob option:selected').text()));

        $.ajax({
            url: '@Url.Content("~/Dashboard/GetValueStreams/")',
            dataType: 'json',
            type: 'POST',
            data: JSON.stringify($('#Lob option:selected').text()),
            contentType: 'application/json',
            success: function (VSList) {
                // do stuff
                });
            }
        });
    });
});

ALERT работает нормально и правильно отображает выбранное значение. Однако в контроллере строка выглядит как ноль.

 [HttpPost]
    public ActionResult GetValueStreams(string BUName)
    {   
       // Here the BUName parameter is coming as null.
    }

Я попытался изменить мои данные POST JSON следующим образом:

data: {"BUName": JSON.stringify($('#Lob option:selected').text())},

Это тоже не работает. Любая помощь будет высоко ценится. Спасибо.

1 Ответ

2 голосов
/ 24 марта 2019

Измените ваши данные на data: JSON.stringify({BUName : $('#Lob option:selected').text()}).

Я проверил, и это сработало.

$.ajax({
        url: '@Url.Content("~/Dashboard/GetValueStreams/")',
        dataType: 'json',
        type: 'POST',
        data: JSON.stringify({BUName : $('#Lob option:selected').text()}),
        contentType: 'application/json',
        success: function (VSList) {
            // do stuff
        }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...