我使用$http
从服务器检索数据。万一发生错误,所有statusCode = -1
。我无法在客户端处理正确的errorCode
。我无权更新服务器代码。
$http(options).then(function (response) {
if (response.status === 200) {
resolve(response.data);
} else {
exceptionHandler(response);
}
}, function (error) {
exceptionHandler(error);
});
console.log
放在exceptionHandler
函数上。
请帮助我获取正确的错误代码。非常感谢。
答案 0 :(得分:2)
在您显示的回复中,404错误可用error.status
但其他两个回复在执行预检OPTIONS请求时被浏览器拒绝访问。
在这种情况下,浏览器返回状态-1以指示请求已中止。您的请求没有HTTP状态代码,因为它从未发送过。控制台日志中显示的状态500不可用于任何JavaScript代码。
您应该处理状态-1,表示没有收到来自服务器的响应,因为它从未发送过(这种情况),或者因为它已被发送但超时。