現在のリクエストが発火するのを防ぐために角度インターセプターを使用することは可能ですか?
たとえば、ui-grid
すべての注文を表示し、各注文にはEdit
andRemove
リンクがあります。ユーザーがこれらのリンクのいずれかをクリックしても、これらのアクションを実行するためのアクセス権がない場合、Access denied
トースター通知を表示する角度が必要です。
私の質問は、どういうわけか角度応答インターセプターを使用してHTTP 403 (Forbidden)
ステータス結果を探し、Access denied
toastr を表示してから要求を終了することはできますか?
これは、responseError インターセプターのロジックです。
var responseError = function (rejection) {
if (rejection.status === 401) {
return $injector.get('authService').refreshToken().then(function (response) {
return retryHttpRequest(rejection.config).then(function (response) {
return response || $q.when(response);
}, function () {
$injector.get('$state').go('logout');
return $q.reject(rejection);
});
})
}
else if (rejection.status == 400 || rejection.status == 500) {
notification.error("Unable to process the request due to an error!");
}
else if (rejection.status == 403) {
notification.error("You do not have sufficient permissions!");
}
return $q.reject(rejection);
}