AngularJS $http get 回调未被调用,状态代码为 401?
AngularJS $http get callback not being called with status code 401?
我在导航到产品页面时运行了以下服务:
app.factory('ProductService',['$http','$location',function($http,$location){
var factory = {};
factory.getAll = function(){
$http.get('/products').success(function(response){
console.log('success callback hit');
if(response.status === 401){
console.log(response);
$location.path('login');
}
}).error(function(){
console.log('error');
});
};
return factory;
}]);
在我的快速路由器中,我检查是否 req.isAuthenticated()
如果没有(我正在测试的情况),我调用:
return res.status(401).send("Not Authorized");
那是我服务器中唯一发送 401 响应的地方,所以我知道 $http.get(/products) 会到达正确的位置,并且我看到 get 请求返回 401控制台,但为什么我的任何回调都没有被命中? (没有任何内容记录到控制台,我也没有在客户端上重定向。)我读到一些关于如果我使用全局拦截器需要拒绝承诺的内容,但我认为我没有使用任何拦截器?编辑:这就是为什么我不认为它与建议的问题重复,因为我没有使用自定义拦截器。
更新:调用了我的错误处理程序,只是在我的 node.js 命令 window 中没有记录任何内容(呃,因为它在客户端上)。感谢大家的帮助!
我的错误处理程序被调用,但我的 node.js 命令 window 中没有任何记录(呃,因为它在客户端上)。感谢大家的帮助!
我在导航到产品页面时运行了以下服务:
app.factory('ProductService',['$http','$location',function($http,$location){
var factory = {};
factory.getAll = function(){
$http.get('/products').success(function(response){
console.log('success callback hit');
if(response.status === 401){
console.log(response);
$location.path('login');
}
}).error(function(){
console.log('error');
});
};
return factory;
}]);
在我的快速路由器中,我检查是否 req.isAuthenticated()
如果没有(我正在测试的情况),我调用:
return res.status(401).send("Not Authorized");
那是我服务器中唯一发送 401 响应的地方,所以我知道 $http.get(/products) 会到达正确的位置,并且我看到 get 请求返回 401控制台,但为什么我的任何回调都没有被命中? (没有任何内容记录到控制台,我也没有在客户端上重定向。)我读到一些关于如果我使用全局拦截器需要拒绝承诺的内容,但我认为我没有使用任何拦截器?编辑:这就是为什么我不认为它与建议的问题重复,因为我没有使用自定义拦截器。
更新:调用了我的错误处理程序,只是在我的 node.js 命令 window 中没有记录任何内容(呃,因为它在客户端上)。感谢大家的帮助!
我的错误处理程序被调用,但我的 node.js 命令 window 中没有任何记录(呃,因为它在客户端上)。感谢大家的帮助!