Angular http 拦截器

Angular http 拦截器

声明工厂方法

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阶段启用拦截器

angular.config(function($httpProvider){
  $httpProvider.interceptors.push('httpInterceptor');
})

转载于:https://my.oschina.net/u/3756690/blog/3076225

你可能感兴趣的:(Angular http 拦截器)