后端没有错误,但 Ajax 功能失败

Posted

技术标签:

【中文标题】后端没有错误,但 Ajax 功能失败【英文标题】:No errors on backend, but Ajax function is failing 【发布时间】:2021-08-15 16:36:03 【问题描述】:

我有一个 Ajax 调用和一个带有一些方法的控制器,但有些奇怪。

Ajax 调用可以到达控制器方法。该方法完美地返回值,没有错误,什么都没有。但是,在 AJAX 中,返回是带有错误的(不是 Ajax 成功)。

此外,如果我检查返回值,我可以在 responseJson 上看到正确的值,但状态为 404,statusText 为“error”("readyState":4,"status":404,"statusText":"error ")

有人知道发生了什么吗?后端没有错误,但是Ajax有错误。

控制器方法

public JsonResult SceneListUpdated(string sceneId)
        
            SceneListModel model = new SceneListModel();
            var licenseValidationState = KeygenLicenseState.CheckLicense();
            if (licenseValidationState == 0)
            
                SceneListService sceneService = new SceneListService();
                model = sceneService.GetSceneListUpdated(sceneId);
                return Json(new  Success = true, data = model , JsonRequestBehavior.AllowGet );
            
            return Json(new  Success = false, data = "" , JsonRequestBehavior.AllowGet);
        

Ajax 函数

 $.ajax(
        url: "/api/test/SceneList/SceneListUpdated?sceneId=" + sceneIdAux,  //Method in controller
        type: "GET",
        contentType: "application/json; charset=utf-8",
        datatype: "json",
        success: function (e) 
            
        ,
        error: function (data) 
        
    );

【问题讨论】:

为什么在成功回调中额外关闭 ? 我的错,刚刚发生在复制和粘贴中。 在网络选项卡中,您的请求也标记为 404? @demo 是的,404。这很奇怪,因为如果我将网址放在浏览器中,我可以看到结果 404 但响应正确? 【参考方案1】:

尝试修复 ajax

 $.ajax(
        url: "/api/test/SceneList/SceneListUpdated/"+ sceneIdAux,  //Method in controller
        type: "GET",
         success: function (e) 
          
        ,
        error: function (data) 
        
    );

也许你可以尝试其中一种路由,因为你有 404

[Route("sceneId")]
[Route("~/api/SceneList/SceneListUpdated/sceneId")]
public JsonResult SceneListUpdated(string sceneId)

【讨论】:

这不是问题,我只是复制并删除了一些 ifs 以在此处发布。忘记删除一个 @FernandoFeks 你也可以展示一下控制器吗?

以上是关于后端没有错误,但 Ajax 功能失败的主要内容,如果未能解决你的问题,请参考以下文章

带有 SQL Server 后端更新的 MS Access 失败且没有错误

[当PHP代码失败但发送200时如何处理AJAX?

mui中调用ajax时报abort错误

Varnish CentOS - 错误 503 后端获取失败

数据流作业在 BigQuery 写入失败并出现后端错误

Springboot ajax xhr 加载失败 404 错误