Maison >interface Web >js tutoriel >Angular utilise des intercepteurs pour traiter uniformément les requêtes http et les exemples de codes de réponse

Angular utilise des intercepteurs pour traiter uniformément les requêtes http et les exemples de codes de réponse

零下一度
零下一度original
2017-06-26 13:41:371499parcourir

Je souhaite utiliser http dans angulairejs pour envoyer des requêtes en arrière-plan. Il existe désormais un jeton identifié de manière unique par l'utilisateur que je souhaite mettre dans les en-têtes, qui est {headres:{'token':1}}<.>

index Introduisez les js suivants dans le .html :

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;
    }])
Après avoir injecté l'usine dans l'application, configurez

.config(['$httpProvider',function(){
    $httpProvider.interceptors.push(httpInterceptor);
}])

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn