обратный вызов успеха не запускается, когда dataType равен "json" - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь передать объект списка с сервера на успешный обратный вызов ajax, но ничего не получаю обратно в консоль и оповещение тоже не срабатывает. Я не выяснил, в чем может быть причина этого, и у меня не так много опыта со стороны JS, поэтому ваша помощь будет высоко ценится. Я пытался изменить ActionResult на JsonResult, но безрезультатно.

это метод действия

<!--language:lang-cs-->
 public ActionResult jason()
        {
            var list = new CardModel().ItemList;
            return Json(list);
        }

и JS AJAX

<!--language: lang-js-->
<script>
        $(document).ready(function () {
            $.ajax({
                type: 'GET',
                url: "/Card/jason/",
                dataType: 'json',
                success: function myfunction(data) {
                   console.log(data);
                    var list = data;
                    console.log(list);
                    $.each(list, function (index, item) {
                        alert(item);
                    });
                }

            });
        });
    </script>

Ответы [ 2 ]

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

По умолчанию платформа ASP.NET MVC не позволяет вам отвечать на запрос HTTP GET вам нужно явно разрешить поведение, используя JsonRequestBehavior.AllowGet наподобие

return Json(list, JsonRequestBehavior.AllowGet);

см. Эту ссылку Зачем нужен JsonRequestBehavior? для деталей

0 голосов
/ 26 марта 2019

Это происходит только тогда, когда ваш dataType неверен. Вы уверены, что получаете JSON из бэкэнда?

Согласно документам: enter image description here

Вы должны увидеть ошибку в error функции обратного вызова ajax()

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