jQuery在失败时提供用户友好的错误消息

时间:2014-05-02 16:44:51

标签: jquery

我使用$.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重载它们?

1 个答案:

答案 0 :(得分:3)

当服务器代码检测到无效输入时,不要生成HTTP错误。生成成功的响应,但将错误消息放入响应结构(例如,使用JSON)。然后让.done()处理程序检查是否填写了response.error,并显示该内容。