后端没有错误,但 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 失败且没有错误