我创建了一个简单的拦截器来将用户重定向到登录页面,服务器返回401错误。但由于状态设置为404,因此无法正常工作,因此永远不会调用$ location。
.config( function myAppConfig( $stateProvider, $urlRouterProvider, $httpProvider ) {
$urlRouterProvider.otherwise( '/login/authorize' );
$httpProvider.interceptors.push(['$location', function($location) {
return {
responseError: function(rejection) {
console.log(rejection);
switch (rejection.status) {
case 401:
$location.path('/login/refresh');
}
}
};
}]);
})
答案 0 :(得分:3)
我不确定你的情况是否就是这种情况@mike,因为你实际上得到的是错误代码 - 只是不正确的......但也许以下是相关的......
关于@zszep和他的状态为0的问题,我也遇到了这个问题,我认为这可能是由于您的服务器发出的错误响应没有出现如此处讨论的CORS标头 - { {3}}
对我来说就是这种情况 - 只是想把它发布在这里,以防它帮助了任何人。