index.html里引入以下js:
angular.module('app.factorys',[]) .factory('httpinterceptor',['$q','$injector','$localstorage',function ($q,$injector,$localstorage) {var httpinterceptor = {'responseerror' : function(response) {// ......return $q.reject(response); },'response' : function(response) {if (response.status == 21000) {// console.log('do something...'); }return response || $q.when(response); },'request' : function(config) { config.headers = config.headers || {};if ($localstorage.token) { config.headers.token = $localstorage.token;// config.headers['x-access-token'] = $localstorage.token; };return config || $q.when(config);return config; },'requesterror' : function(config){// ......return $q.reject(config); } };return httpinterceptor; }])
在app里注入factory后,在config里面配置
.config(['$httpprovider',function(){ $httpprovider.interceptors.push(httpinterceptor); }])
以上就是angular用拦截器统一处理http请求和响应实例代码的详细内容。