AngularJS:拦截非xhr请求

时间:2014-05-22 19:37:51

标签: javascript node.js angularjs express angular-ui-router

是否可以使用Angular拦截非xhr请求? 我有这个问题,如果用户键入URL,比如/admin,如果用户没有登录,服务器将返回401.但是因为请求不是xhr,所以它不会被截获,并且因此用户不会被重定向到登录页面。

这适用于我的xhr请求:

$provide.factory('authorizationService', ['$q', '$injector', function ($q, $injector) {
    return {

        // Success: just return the response
        response: function (response) {
            return response || $q.when(response);
        },

        // Error: check for the 401 error status
        responseError: function (rejection) {
            if (rejection.status === 401)
                $injector.get('$state').transitionTo('users.login');
                return $q.reject(rejection);
        }
    }
}]);
$httpProvider.interceptors.push('authorizationService');

编辑:我可以在服务器端重定向非授权的非xhr请求,但我想将它放在一个地方。

0 个答案:

没有答案