当我获得状态代码400时,我以这种方式处理XMLHttpRequest
对象(1)并且它可以工作。
无论如何,我想这段代码对我的用例非常具体。
我想更加通用如下:
1)当我获得状态代码500时,我应该如何处理服务器错误?
(1)
_.each((JSON.parse(xhr.responseText)).children, function (xhrObject, name) {
element.find('[name="' + name + '"]')
.parent().append($('<div>')
.attr('class', 'is-input-invalid')
.text(xhrObject.errors));
});
答案 0 :(得分:2)
这取决于应用程序。在响应500时,您可能需要做三件事:
当操作对用户不重要时,第二个可能是好的(也许一些后台更新 - 检查他们甚至不知道你在做什么),并且绝对要避免(否则唯一的事情比报告给您的错误,没有向您报告错误)。第三种是非常专业的(尝试的“其他东西”可能是显而易见的,也可能是不可能的,这取决于你最初尝试做什么)。
要从500获得任何有用的东西,您需要代码的服务器端向您发送一些有用的信息作为此类消息的主体。 “有用”是什么取决于你正在做什么(例如,纯文本,json,xml是你的其余代码已经设置好处理的最可能的东西)。