c# - 捕获 jquery ajax 错误回调中的错误?

标签 c# php jquery asp.net ajax

我倾向于在应用程序中对服务器端使用大量 jquery ajax 调用。

通常,当服务器端出现问题时,我会序列化错误消息并作为响应(JSON)发送。类似的东西

 { "ErrorMessage" : "Something went wrong: " + ex.message }

我想知道是否有任何方法可以使错误最终出现在 jquery ajax error 回调中,而不是 success 中。

有什么办法可以做到这一点吗?或者我应该坚持我处理错误的旧方法?如果您提供 PHP 或 ASP.NET + c# 示例并不重要,因为我对两者都感兴趣。谢谢

最佳答案

您可以让它们最终出现在 error callback 中在 jQuery 上。在 ASP.NET 中,您所需要做的就是更改 custom errors将 web.config 中的部分设置为 <customErrors mode="Off" /> 但是如果您选择此路线,请确保将您的 Web 服务放在单独的文件夹中,以便您仅对 Web 服务调用执行此操作,而不必为整个网站关闭此服务;例如:

<location Path="/Services"> <!--Your web service lives here -->
    <system.web>
        <customErrors mode="Off" />
    </system.web>
</location>

这样,您的 Web 方法中引发的任何异常都将在 error callback 中处理。在 jQuery 中。

您可以让异常传播而不将其缓存在您的 Web 方法上,也可以捕获它并重新抛出更“用户友好”的消息。

关于c# - 捕获 jquery ajax 错误回调中的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10589758/

相关文章:

c# - 如何使用 Kubernetes 上的 Redis/ReJson 中的复杂对象中的路径更新值?

c# - 为什么 Response.Write 行为在给定场景中会有所不同?

c# - 如何纠正警告 CS1707?

php - 如何从子域调用ajax请求

javascript - 每次我刷新页面时,JQuery 都会为窗口高度提供不同的值

c# - 强制类/方法的属性装饰

php - 根据数据库查询之外的算法结果对行进行排序

php - 为什么不能用property代替__construct?

php - 如何支持表情符号蓬勃发展?

javascript - jQuery.url 未定义