我创建了一个简单的拦截器来将用户重定向到登录页面,服务器返回 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');
}
}
};
}]);
})