ホームページ  >  記事  >  ウェブフロントエンド  >  Angular はインターセプターを使用して http リクエストとレスポンスのサンプルコードを均一に処理します

Angular はインターセプターを使用して http リクエストとレスポンスのサンプルコードを均一に処理します

零下一度
零下一度オリジナル
2017-06-26 13:41:371455ブラウズ

angularjs で http を使用してリクエストをバックグラウンドに送信したいと考えています。ヘッダーに入れたいユーザーによって一意に識別されるトークンがあります。これは {headres:{'token':1}} です。次のjsをindex.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;
    }])
アプリにファクトリーを挿入した後、configで設定します

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

以上がAngular はインターセプターを使用して http リクエストとレスポンスのサンプルコードを均一に処理しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。