我使用此功能登录,但是在$http.post
方法中遇到问题。我的服务器对不正确的用户名和密码的响应为400(错误请求),但是每次在此角度代码loginSuccess
函数中运行(即使使用不正确的用户名和密码),其他奇怪的事情是响应为undefined
,而我可以看到浏览器网络控制台中的响应。
function login (data) {
var deferred = $q.defer();
$http.post('api/authentication/login', data)
.then(loginSuccess, loginFailed);
// .success(loginSuccess);
return deferred.promise;
function loginSuccess (response) {
console.log(response); // <-- undefinde
deferred.resolve();
}
function loginFailed () {
deferred.reject();
}
}
但是,当我使用
success
方法(不推荐使用)时,没有问题,并且当响应为错误时登录成功也不会运行。 最佳答案
正如@zeroflagL提到的那样,问题出在拦截器上。
我忘记了在onResponseError中返回响应。