Angular ngResources请求拦截器

时间:2014-12-03 19:36:59

标签: angularjs request ngresource

为什么angular $ resources没有请求和请求错误拦截器?

Theres有什么办法吗?

文档内容:

interceptor - {Object =} - 拦截器对象有两个可选方法 - response和responseError。使用http响应对象调用响应和responseError拦截器。请参阅$ http拦截器。

1 个答案:

答案 0 :(得分:1)

您可以按如下方式实现自己的拦截器。

app.config(function ($httpProvider) {
    $httpProvider.interceptors.push('myInterceptor');
});

app.factory('myInterceptor', ['$q', function ($q) {
    return {
        request: function (config) {
            config.headers = config.headers || {};
            // insert code to populate your request header for instance
            return config;
        },
        response: function (response) {
            if (response.status === 403 || response.status === 401) {
                // insert code to redirect to custom unauthorized page
            }
            return response || $q.when(response);
        }
    };
}]);

我希望这会帮助你。