如何处理Wquery服务器(REsTful)在Jquery ajax()方法中返回的错误/异常?
假设我打开了includeExceptionDetailInFaults =“true”并且我使用了
error: function(XMLHttpRequest,textStatus,errorThrown) {
alert(XMLHttpRequest.responseText);
}
我回过头来的只是一个HTML字符串(HTML页面),里面埋藏着错误;
>未找到服务(HTTP 400和500
errrors)
WCF抛出的.net异常
客户端页面(javascript)
我怎样才能做到这一点?
最佳答案
includeExceptionDetailsInFaults更像是一种用于非公开异常的调试工具,而不是一种向客户端实际传递错误的方法.这些类型的错误通常是500个内部服务器错误,其细节不应以任何方式泄露给客户端.对于REST服务,默认情况下将这些详细信息一般性地传递给调用者的方法是将它们作为text / HTML返回.
原文链接:https://www.f2er.com/jquery/427952.html但是,如果您尝试从服务中返回逻辑错误,那么您应该想出WebFaultException< T>的实例.其中T可以是一个简单的字符串消息,或者,如果您想要更复杂的东西,可以是一个类,它将根据为您的服务端点配置的任何序列化而序列化为结构化格式.您还可以在构造WebFaultException< T>期间设置响应状态代码.
如果您希望对所有未处理的异常进行泛型处理以返回结构化内容类型表示和状态代码,则需要编写自己的IErrorHandler并将未处理的异常类型转换为WebFaultException< T>在您的ProvideFault实现中.