HttpInterceptor Angular Js

时间:2014-06-04 14:56:55

标签: angularjs

这是我的httpinterceptor代码,基本上我想拦截所有的http调用并附加令牌请求。我遵循了post

我在这里做错了什么?

   angular.module('app', []).factory('authInterceptor', function ($rootScope, $q, $window) {
    return {
        request: function (config) {
            config.headers = config.headers || {};
            if ($window.sessionStorage.token) {
                config.headers.Authorization = 'Bearer ' + $window.sessionStorage.token;
            }
            return config;
        },
        response: function (response) {
            if (response.status === 401) {
                // handle the case where the user is not authenticated
            }
            return response || $q.when(response);
        }
    };
}).config(function ($httpProvider) {
    $httpProvider.interceptors.push('authInterceptor');
});

我收到错误

Error: [$injector:unpr] Unknown provider: commonProvider <- common

1 个答案:

答案 0 :(得分:0)

在我的config.js文件中,我有

app.config(['commonConfigProvider', function (cfg) {

    }]);

在authInterceptor之前调用。 我在commonConfigProvider之前移动了authInterceptor,现在工作正常。不确定为什么!