当dataType为“ json”时,不会运行成功回滚

时间:2019-03-26 17:42:10

标签: javascript c# ajax asp.net-mvc

我正在尝试将列表对象从服务器传递到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 个答案:

答案 0 :(得分:2)

默认情况下,ASP.NET MVC框架不允许您响应HTTP GET请求 您需要使用

来明确允许行为通过JsonRequestBehavior.AllowGet
return Json(list, JsonRequestBehavior.AllowGet);

查看此链接Why is JsonRequestBehavior needed? 详情

答案 1 :(得分:0)

仅当您的dataType不正确时才会发生。 您确定要从后端接收JSON吗?

根据文档: enter image description here

您应该能够在error的{​​{1}}回调函数中看到错误