我倾向于在应用程序中对服务器端使用大量 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/