2
在角js我做了一個服務,應該認證用戶只需存儲一個令牌併發送每個請求,所以我使用攔截器。 她是攔截器的代碼。不能推一個攔截器
app.factory('authInterceptorService',['$q', '$location', '$cookieStore', function($q, $location, $cookieStore){
var authInterceptorServiceFactory = {};
var _request = function(config){
config.headers = config.headers || {};
var authData = $cookieStore.get('AuthorizationHeader');
if(authData){
config.headers.AuthorizationHeade = authData.token;
}
return config;
}
var _responseError = function(rejection) {
if(rejection.status === 401){
$location.path('/');
}
return $q.reject(rejection);
}
authInterceptorServiceFactory.request = _request;
authInterceptorServiceFactory.responseError = _responseError;
return authInterceptorServiceFactory;
}]);
的問題是,當我嘗試用
app.config(function ($httpProvider) {
$httpProvider.interceptors.push('authInterceptorService');
});
添加攔截我得到遺漏的類型錯誤:無法從AccApp
仍然是同樣的問題 – MohamedAbbas
當您調用'push'函數並檢查'$ httpProvider'參數的屬性時,請在該行中放置一個斷點。在嘗試將其添加爲攔截器之前,請確保註冊工廠的代碼已被調用。這可能很明顯,但值得檢查。 –
$得到:數組[7] 0: 「$ httpBackend」 1: 「$瀏覽器」 2: 「$ cacheFactory」 3: 「$ rootScope」 4: 「$ Q」 5: 「$注射器」 – MohamedAbbas