聲明工廠方法javascript
angular.factory('httpInterceptor',function($q){ return { // 請求的攔截 request: function (config) { config.headers = config.headers || {}; // let token = JSON.parse(window.localStorage.getItem("token")) || ""; // config.headers.Authorization = 'Bearer ' + token.access_token; return config; }, // 攔截響應 response: function(response) { // console.log("響應"); // console.log(response); return response; }, // 攔截請求錯誤 responseError:function(errorReason){ // console.log('請求錯誤'); // console.log(errorReason); return $q.reject(errorReason); }, // 攔截響應錯誤 requestError:function(errorReason){ // console.log('攔截響應錯誤'); return $q.reject(errorReason); } }; })
注入對象,config
階段啓用攔截器java
angular.config(function($httpProvider){ $httpProvider.interceptors.push('httpInterceptor'); })