Ajax errorThrown:内部服务器错误,但状态为 4

Ajax errorThrown: Internal Server Error but state is 4

下面有这个ajax电话

$(function(){
            $.ajax({
                type: "GET",
                url: '/CafeTableDetails/GetTotalItems',
                 data: '{"url":"test"}',
                dataType: "json",
                contentType: "application/json; charset=utf-8",
                success: function (result) {
                    debugger
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                debugger
                alert("some error");
                }
            });
        });

并且它可以在 C# MVC 中调用我的控制器的操作方法/CafeTableDetails/GetTotalItems

    public ActionResult GetTotalItems()
    {
        bool isSuccess = true;
        return Json(new { isUpdateSuccess = isSuccess, JsonRequestBehavior.AllowGet });

    }

但作为动作方法return又回到Json,落入errorXMLHttpRequest return 状态为 4,textStatus = "Error" 且 errorThrown 为 "Internal Server Error"。我该如何进一步解决这个问题?

您的 ajax 方法应该是:

 $.ajax({
          type: "GET", 
          url: "/CafeTableDetails/GetTotalItems",
          data: JSON.stringify({ url: 'test' }),
          dataType: "json",
          contentType: 'application/json; charset=utf-8',
          success: function(response) { 
              console.log(response); 
          },
          error: function(xhr, ajaxOptions, thrownError) { 
              console.log(xhr.responseText); 
          }
        });

并且您的控制器操作方法将是:

[HttpGet]
public JsonResult GetTotalItems(string url)
{
    // some business logic and return
    return Json(url, JsonRequestBehavior.AllowGet);
}