1

現在のリクエストが発火するのを防ぐために角度インターセプターを使用することは可能ですか?

たとえば、ui-gridすべての注文を表示し、各注文にはEditandRemoveリンクがあります。ユーザーがこれらのリンクのいずれかをクリックしても、これらのアクションを実行するためのアクセス権がない場合、Access deniedトースター通知を表示する角度が必要です。

私の質問は、どういうわけか角度応答インターセプターを使用してHTTP 403 (Forbidden)ステータス結果を探し、Access deniedtoastr を表示してから要求を終了することはできますか?

これは、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);
}
4

0 に答える 0