最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Angular中的interceptors攔截器

 更新時(shí)間:2017年06月25日 08:53:09   作者:webNick  
這篇文章主要介紹了Angular中的interceptors攔截器,需要的朋友可以參考下

廢話不多說了,直接給大家貼代碼了,具體代碼如下所述;

<!DOCTYPE html>
<html ng-app="nickApp">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
  <title>interceptors</title>
  <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
  <script>
    /*
     $http service在Angular中用于簡化與后臺的交互過程,其本質(zhì)上使用XMLHttpRequest或JSONP進(jìn)行與后臺的數(shù)據(jù)交互。
     在與后臺的交互過程中,可能會對每條請求發(fā)送到Server之前進(jìn)行預(yù)處理(如加入token),或者是在Server返回?cái)?shù)據(jù)到達(dá)客戶端還未被處理之前進(jìn)行預(yù)處理(如將非JSON格式數(shù)據(jù)進(jìn)行轉(zhuǎn)換);
     當(dāng)然還有可能對在請求和響應(yīng)過程過發(fā)生的問題進(jìn)行捕獲處理。所以Angular為我們提供了$http攔截器,用來實(shí)現(xiàn)上述需求。*/
    /*
     $httpProvider中有一個(gè) interceptors 數(shù)組,而所謂攔截器只是一個(gè)簡單的注冊到該數(shù)組中的常規(guī)服務(wù)工廠。
     1 首先 創(chuàng)建一個(gè)攔截器服務(wù)工廠
     */
    angular.module('nickApp', [])
        .factory('NickInterceptor', ['$q', function ($q) {
          return {
            // 可選,攔截成功的請求
            /*
             該方法會在$http發(fā)送請求到后臺之前執(zhí)行,因此你可以修改配置或做其他的操作。
             該方法接收請求配置對象(request configuration object)作為參數(shù),然后必須返回配置對象或者promise 。
             如果返回?zé)o效的配置對象或者 promise 則會被拒絕,導(dǎo)致$http 調(diào)用失敗
             */
            request: function (config) {
              // 進(jìn)行預(yù)處理
              // 例如加令牌
              config.headers['Authorization'] = 'token666';
              /*
               Request Headers
               token:token666 //加的令牌
               */
              return config || $q.when(config);
            },
            // 可選,攔截成功的響應(yīng)
            /*
             該方法會在$http接收到從后臺過來的響應(yīng)之后執(zhí)行,因此你可以修改響應(yīng)或做其他操作。
             該方法接收響應(yīng)對象(response object)作為參數(shù),
             然后必須返回響應(yīng)對象或者promise。響應(yīng)對象包括了請求配置(request configuration),頭(headers),狀態(tài)(status)和從后臺過來的數(shù)據(jù)(data)。
             如果返回?zé)o效的響應(yīng)對象或者 promise 會被拒絕,導(dǎo)致$http調(diào)用失敗。
             */
            response: function (response) {
              // 進(jìn)行預(yù)處理
              // 例如 JSON.parse(response)等
              return response || $q.when(reponse);
            },
            // 可選,攔截失敗的請求
            /*
             有時(shí)一個(gè)請求發(fā)送失敗或者被攔截器拒絕了。requestError攔截器會捕獲那些被上一個(gè)請求攔截器中斷的請求。
             它可以用來恢復(fù)請求或者有時(shí)可以用來撤銷請求之前所做的配置,比如關(guān)閉遮罩層,顯示進(jìn)度條,激活按鈕和輸入框之類的。
             */
            requestError: function (rejection) {
              // 對失敗的請求進(jìn)行處理
              // 例如 統(tǒng)一的彈窗提示
              return $q.reject(rejection);
            },
            // 可選,攔截失敗的響應(yīng)
            /*
             有時(shí)候我們后臺調(diào)用失敗了。也有可能它被一個(gè)請求攔截器拒絕了,或者被上一個(gè)響應(yīng)攔截器中斷了。
             在這種情況下,響應(yīng)異常攔截器可以幫助我們恢復(fù)后臺調(diào)用。
             */
            responseError: function (rejection) {
              // 對失敗的響應(yīng)進(jìn)行處理
              // 例如 統(tǒng)一的彈窗提示
              return $q.reject(rejection);
            }
          };
        }])
        /*
         $httpProvider中有一個(gè) interceptors 數(shù)組,而所謂攔截器只是一個(gè)簡單的注冊到該數(shù)組中的常規(guī)服務(wù)工廠。
         2 在config方法中,將攔截器加入到$httpProvider.interceptors數(shù)組中
         */
        .config(['$httpProvider', function ($httpProvider) {
          $httpProvider.interceptors.push('NickInterceptor');
        }])
        .controller('bodyCtl', ['$scope', '$http', function ($scope, $http) {
          $scope.test1 = function () {
            console.log(11);
            $http.get('interceptors.html');
          };
        }])
  </script>
</head>
<body ng-controller="bodyCtl">
<button class="btn" ng-click="test1()">click me</button>
<div ng-view></div>
</body>
</html>

以上所述是小編給大家介紹的Angular中的interceptors攔截器,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時(shí)回復(fù)大家的!

相關(guān)文章

  • 舉例簡介AngularJS的內(nèi)部語言環(huán)境

    舉例簡介AngularJS的內(nèi)部語言環(huán)境

    這篇文章主要介紹了AngularJS的內(nèi)部語言環(huán)境,展示不同語言環(huán)境下對貨幣或是日期等文本方面所產(chǎn)生的影響,需要的朋友可以參考下
    2015-06-06
  • angular組件間傳值測試的方法詳解

    angular組件間傳值測試的方法詳解

    這篇文章主要給大家介紹了關(guān)于如何測試angular組件間傳值的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用angular組件具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • angularjs通過過濾器返回超鏈接的方法

    angularjs通過過濾器返回超鏈接的方法

    這篇文章主要介紹了angularjs通過過濾器返回超鏈接的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-10-10
  • div實(shí)現(xiàn)自適應(yīng)高度的textarea實(shí)現(xiàn)angular雙向綁定

    div實(shí)現(xiàn)自適應(yīng)高度的textarea實(shí)現(xiàn)angular雙向綁定

    本文主要介紹了div實(shí)現(xiàn)自適應(yīng)高度的textarea,實(shí)現(xiàn)angular雙向綁定的方法。具有一定的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • AngularJS發(fā)送異步Get/Post請求方法

    AngularJS發(fā)送異步Get/Post請求方法

    今天小編就為大家分享一篇AngularJS發(fā)送異步Get/Post請求方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • angularJS1 url中攜帶參數(shù)的獲取方法

    angularJS1 url中攜帶參數(shù)的獲取方法

    今天小編就為大家分享一篇angularJS1 url中攜帶參數(shù)的獲取方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • 簡介AngularJS的HTML DOM支持情況

    簡介AngularJS的HTML DOM支持情況

    這篇文章主要介紹了AngularJS的HTML DOM支持情況,包括ng-hide和ng-click指令的使用,需要的朋友可以參考下
    2015-06-06
  • 9種改善AngularJS性能的方法

    9種改善AngularJS性能的方法

    這篇文章主要為大家詳細(xì)介紹了9種改善AngularJS性能的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • angular中ui calendar的一些使用心得(推薦)

    angular中ui calendar的一些使用心得(推薦)

    下面小編就為大家?guī)硪黄猘ngular中ui calendar的一些使用心得(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • AngularJS中ng-options實(shí)現(xiàn)下拉列表的數(shù)據(jù)綁定方法

    AngularJS中ng-options實(shí)現(xiàn)下拉列表的數(shù)據(jù)綁定方法

    今天小編就為大家分享一篇AngularJS中ng-options實(shí)現(xiàn)下拉列表的數(shù)據(jù)綁定方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08

最新評論

英吉沙县| 邵东县| 宝应县| 牡丹江市| 武穴市| 大化| 鹰潭市| 新巴尔虎左旗| 巢湖市| 虹口区| 醴陵市| 钟祥市| 东平县| 东方市| 资溪县| 永嘉县| 乌海市| 瓦房店市| 桃园县| 龙川县| 道孚县| 鄄城县| 苏尼特左旗| 葵青区| 鄂托克前旗| 行唐县| 娄底市| 左权县| 罗城| 北票市| 咸丰县| 麦盖提县| 江门市| 当雄县| 轮台县| 岳阳市| 霸州市| 胶南市| 南溪县| 曲水县| 三穗县|