猿问

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

我正在尝试将列表对象从服务器传递到 Ajax 成功回调,但我没有在控制台中接收数据,并且alert我的代码中的调用没有触发。


我对 JS 没有太多经验,也无法确定为什么这不起作用。我已经尝试更改ActionResult为JsonResult,但无济于事。


这是操作方法:


public ActionResult jason()

{

    var list = new CardModel().ItemList;

    return Json(list);

}

这是 Ajax 调用:


<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>


墨色风雨
浏览 96回答 2
2回答

绝地无双

默认情况下,ASP.NET MVC 框架不允许您响应 HTTP GET 请求,您需要通过使用 JsonRequestBehavior.AllowGet 来明确允许该行为return&nbsp;Json(list,&nbsp;JsonRequestBehavior.AllowGet);

喵喵时光机

这只发生在您的 dataType 不正确时。你确定你从后端接收 JSON 吗?根据文档:您应该能够在error回调函数中看到一个错误ajax()
随时随地看视频慕课网APP
我要回答