在没有运行服务器的情况下运行我的Angular应用程序应该返回错误或课程。但是我在Chrome控制台中看到的“ERR_CONNECTION_REFUSED”触发了我的会员服务的成功功能:
function login(user, onSuccess, onError){
$http.post(_loginAddress, user)
.success(loginSuccess)
.success(onSuccess)
.error(loginError)
.error(onError);
}
function loginSuccess(data) {
// this code executes with data = null here.
if (data.ok === true) {
...
}
}
function loginError(data, code) {
...
}
$http docs州的相关部分:
200到299之间的响应状态代码被视为成功状态,并将导致调用成功回调。请注意,如果响应是重定向,XMLHttpRequest将透明地跟随它,这意味着不会为此类响应调用错误回调。
我想我的$ http success()函数编程可能是误报吗?
修改
答案 0 :(得分:4)
所以..我去打猎,发现我的一个拦截器(身份验证)导致此ERR_CONNECTION_REFUSED错误响应被视为已恢复'因此调用了成功函数。
我改变了这个:
if (response.status !== 401) {
return response;
}
对此:
if (response.status !== 401) {
return $q.reject(response);
}
一切都很好。
希望这可能有助于其他人。