我使用$.ajax
来处理服务器异常:
.fail(function (qXHR, textStatus, errorThrown) {
$('#loadingDiv').hide();
console.log(qXHR.responseText);
console.log(textStatus);
console.log(errorThrown);
$('#errorMessage').text(qXHR + "::" + textStatus + "::" + errorThrown);
});
示例错误:[object Object]::error::Internal Server Error
当我从服务器中抛出ApplicationException
时,我想告诉用户try searching for something more specific
。
“内部服务器错误”太模糊了。 object.responseText
具有特定的错误信息,但它隐藏在成堆的HTML中。
如何根据发生的异常为用户提供更好的信息,而不会使用qxHR.responseText
重载它们?
答案 0 :(得分:3)
当服务器代码检测到无效输入时,不要生成HTTP错误。生成成功的响应,但将错误消息放入响应结构(例如,使用JSON)。然后让.done()
处理程序检查是否填写了response.error
,并显示该内容。