gpt4 book ai didi

jquery - ajaxcall 中的错误处理

转载 作者:行者123 更新时间:2023-12-03 08:03:16 25 4
gpt4 key购买 nike

我有一个网站,ajax 调用将从 Asp.Net-Mvc 操作中获取一些 Json 数据。

现在我正在尝试在其中进行植入错误处理。

但我被困在如何做到这一点上。

我发现最简单的方法是在 Controller 操作中捕获异常,并返回一个带有错误消息的 Json 对象。然后在 ajax succes 函数中,如果它存在,我可以输出错误消息。

但我不确定这是最好的方法,所以我尝试使用 ajax 调用的错误函数。

我的代码是这样的:

$.ajax(
{
type: "POST",
url: "/home/geterror",
data: "",
dataType: "json",
success: function(result)
{
//do something

},
error: function(XMLHttpRequest, textStatus, errorThrown)
{
alert(XMLHttpRequest.responseText + " "+ XMLHttpRequest.status +" "+ textStatus +" "+ errorThrown);
}
});

我看到 XMLHttpRequest.responseText 是一个标准的 asp.net 错误页面,标题中有我的错误消息。 errorThrown 总是未定义的。
现在我试图从 XMLHttpRequest.responseText 中获取标题。但我不知道该怎么做。 (我尝试的一切都失败了..)
因此,如果有人有任何建议或更好的方法来处理 Ajax 调用的错误......

谢谢,
布鲁诺

最佳答案

布鲁诺,我认为你应该在这里做出区分;您有想要向用户显示的自定义或预期错误,例如提供的无效值,您必须告诉用户“先生,您不能这样做,因为 bla bla”,另一方面,您还有其他意外错误,例如例如,您的代码中的错误会导致一些不需要的异常,例如插入中的 FK 违规。我的建议是全局处理后者,您可以设置查询 ajax 请求以具有一些常见的行为,例如 ajaxSetup .通过这种方式,您可以设置一个常见的错误处理程序(状态 500)。如果您有“预期”错误(我的示例中的第一种情况),您应该返回一个特殊对象,如 Darin 在他的答案中所示,并在成功回调中处理它,毕竟这是一个有效的场景,您应该处理它就这样。

关于jquery - ajaxcall 中的错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2423409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com