我有以下登录表单代码:
function(loginData) {
var deferred = $q.defer();
var data = {
"email": loginData.email,
"password": loginData.password,
"remember": loginData.remember
};
$http.post(CONSTANTS.baseURL + '/login', data)
.success(function(data, status, headers, config) {
_authenticate(data);
//redirects to home
$state.go('home');
// location.hash = "#/home";
deferred.resolve(true);
})
.error(function(data, status, headers, config) {
//show error message
_logout();
deferred.resolve(false);
return false;
});
return deferred.promise;
};
调试代码总是会触发 .success 函数。 请求的状态是 403。.success 函数的状态参数也是 403
Request Method:POST
Status Code:403 Forbidden
最佳答案
我遇到了和你类似的问题,发现原因是因为我之前配置了一个$httpProvider intercept::
app.config(function ($httpProvider) {
$httpProvider.interceptors.push('myHttpInterceptor');
});
删除它后,我的错误回调被正确调用。
关于angularjs - $http.post 即使状态为 Unauthorized 403 也进入成功函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31376925/