Передача и получение данных AJAX на контроллер - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть этот код в моем представлении Index.cshtml :

<script>
    var dropdown = $('#clientDropdown');
    dropdown.on('change', function () {
        var clients = dropdown.chosen().val();
        $.ajax({
            type: 'GET',
            url: '/Inventory/GetClient',
            datatype: 'json',
            data: {clients : clients},
            success: function (data) {
                console.log(data);
            }
        });
    });
</script>

Что он делает, он отправляет объект массива с именем клиентов (клиентов клиентов) на мой контроллер.Например, он передает объект массива ["Chan", "John"]

Теперь в моем контроллере это мой код:

[HttpGet]
    public ActionResult GetClient()
    {
        var clients = Request.QueryString["clients"];

        return Json(new { data = clients }, JsonRequestBehavior.AllowGet);
    }

ПослеПри вызове AJAX контроллер возвращает объект {data: null} в журнале консоли.Что мне не хватает?Я хотел использовать содержимое моего объекта clients в моем контроллере для возврата данных JSON

1 Ответ

0 голосов
/ 10 февраля 2019

Вы должны отправить строковую версию JSON, вот некоторые изменения, которые вы должны сделать

var dropdown = $('#clientDropdown');
    dropdown.on('change', function () {
        var clients = dropdown.chosen().val();
        $.ajax({
            type: 'GET',
            url: '/Inventory/GetClient',
            contentType: 'application/json', // this
            datatype: 'json',
            data: {clients : JSON.stringify(clients)}, // and this
            success: function (data) {
                console.log(data);
            }
        });
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...