非常に単純なインターセプターを使用して、ユーザーをログインにリダイレクトするために 403 Access Forbidden の responseRejection をチェックしていますが、リダイレクトされません。$location.path の前とその後の行まで console.log を実行できますが、それは発生しません。他の誰かがこれを起こしたことがありますか?私はこれを少し見つめてきました...もともと私は $location を使用したくありませんでしたが、循環依存関係を取得せずに ui.router を注入することはできません。私がそれについて考えている間、 $location は私を動かし続けるはずだったので、取り除くために。
.factory('AuthInterceptor', ['$q', '$location',
function( $q, $location ) {
var service = {
responseError: function( responseRejection ) {
// Authorization issue, access forbidden
if( responseRejection.status === 403 ) {
// TODO: show a login dialog, and/or redirect to login
console.log("Response rejected. Redirecting to login...");
$location.path('/login');
$location.replace();
console.log("Not so much with the redirecting... I'm still here");
}
// Propagate error to any chained promise handlers
return $q.reject( responseRejection );
}
}
return service;
}])