亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Angular中的interceptors攔截器

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

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

<!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中用于簡(jiǎn)化與后臺(tái)的交互過(guò)程,其本質(zhì)上使用XMLHttpRequest或JSONP進(jìn)行與后臺(tái)的數(shù)據(jù)交互。
     在與后臺(tái)的交互過(guò)程中,可能會(huì)對(duì)每條請(qǐng)求發(fā)送到Server之前進(jìn)行預(yù)處理(如加入token),或者是在Server返回?cái)?shù)據(jù)到達(dá)客戶端還未被處理之前進(jìn)行預(yù)處理(如將非JSON格式數(shù)據(jù)進(jìn)行轉(zhuǎn)換);
     當(dāng)然還有可能對(duì)在請(qǐng)求和響應(yīng)過(guò)程過(guò)發(fā)生的問(wèn)題進(jìn)行捕獲處理。所以Angular為我們提供了$http攔截器,用來(lái)實(shí)現(xiàn)上述需求。*/
    /*
     $httpProvider中有一個(gè) interceptors 數(shù)組,而所謂攔截器只是一個(gè)簡(jiǎn)單的注冊(cè)到該數(shù)組中的常規(guī)服務(wù)工廠。
     1 首先 創(chuàng)建一個(gè)攔截器服務(wù)工廠
     */
    angular.module('nickApp', [])
        .factory('NickInterceptor', ['$q', function ($q) {
          return {
            // 可選,攔截成功的請(qǐng)求
            /*
             該方法會(huì)在$http發(fā)送請(qǐng)求到后臺(tái)之前執(zhí)行,因此你可以修改配置或做其他的操作。
             該方法接收請(qǐng)求配置對(duì)象(request configuration object)作為參數(shù),然后必須返回配置對(duì)象或者promise 。
             如果返回?zé)o效的配置對(duì)象或者 promise 則會(huì)被拒絕,導(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)
            /*
             該方法會(huì)在$http接收到從后臺(tái)過(guò)來(lái)的響應(yīng)之后執(zhí)行,因此你可以修改響應(yīng)或做其他操作。
             該方法接收響應(yīng)對(duì)象(response object)作為參數(shù),
             然后必須返回響應(yīng)對(duì)象或者promise。響應(yīng)對(duì)象包括了請(qǐng)求配置(request configuration),頭(headers),狀態(tài)(status)和從后臺(tái)過(guò)來(lái)的數(shù)據(jù)(data)。
             如果返回?zé)o效的響應(yīng)對(duì)象或者 promise 會(huì)被拒絕,導(dǎo)致$http調(diào)用失敗。
             */
            response: function (response) {
              // 進(jìn)行預(yù)處理
              // 例如 JSON.parse(response)等
              return response || $q.when(reponse);
            },
            // 可選,攔截失敗的請(qǐng)求
            /*
             有時(shí)一個(gè)請(qǐng)求發(fā)送失敗或者被攔截器拒絕了。requestError攔截器會(huì)捕獲那些被上一個(gè)請(qǐng)求攔截器中斷的請(qǐng)求。
             它可以用來(lái)恢復(fù)請(qǐng)求或者有時(shí)可以用來(lái)撤銷請(qǐng)求之前所做的配置,比如關(guān)閉遮罩層,顯示進(jìn)度條,激活按鈕和輸入框之類的。
             */
            requestError: function (rejection) {
              // 對(duì)失敗的請(qǐng)求進(jìn)行處理
              // 例如 統(tǒng)一的彈窗提示
              return $q.reject(rejection);
            },
            // 可選,攔截失敗的響應(yīng)
            /*
             有時(shí)候我們后臺(tái)調(diào)用失敗了。也有可能它被一個(gè)請(qǐng)求攔截器拒絕了,或者被上一個(gè)響應(yīng)攔截器中斷了。
             在這種情況下,響應(yīng)異常攔截器可以幫助我們恢復(fù)后臺(tái)調(diào)用。
             */
            responseError: function (rejection) {
              // 對(duì)失敗的響應(yīng)進(jìn)行處理
              // 例如 統(tǒng)一的彈窗提示
              return $q.reject(rejection);
            }
          };
        }])
        /*
         $httpProvider中有一個(gè) interceptors 數(shù)組,而所謂攔截器只是一個(gè)簡(jiǎn)單的注冊(cè)到該數(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攔截器,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

相關(guān)文章

  • AngularJS實(shí)用開(kāi)發(fā)技巧(推薦)

    AngularJS實(shí)用開(kāi)發(fā)技巧(推薦)

    Angular JS 是一組用來(lái)開(kāi)發(fā)Web頁(yè)面的框架、模板以及數(shù)據(jù)綁定和豐富UI組件。接下來(lái)通過(guò)本文給大家介紹AngularJS實(shí)用開(kāi)發(fā)技巧的相關(guān)資料,需要的朋友可以參考下
    2016-07-07
  • Angular.Js的自動(dòng)化測(cè)試詳解

    Angular.Js的自動(dòng)化測(cè)試詳解

    當(dāng)Angular項(xiàng)目的規(guī)模到達(dá)一定的程度,就需要進(jìn)行測(cè)試工作了。為什么要自動(dòng)化測(cè)試?1,提高產(chǎn)出質(zhì)量。2,減少重構(gòu)時(shí)的痛。反正我最近重構(gòu)多了,痛苦經(jīng)歷多了。3,便于新人接手。下面這篇文章就給大家詳細(xì)介紹了Angular.Js的自動(dòng)化測(cè)試,有需要的朋友們可以參考借鑒。
    2016-12-12
  • 強(qiáng)大的 Angular 表單驗(yàn)證功能詳細(xì)介紹

    強(qiáng)大的 Angular 表單驗(yàn)證功能詳細(xì)介紹

    本篇文章主要介紹了強(qiáng)大的 Angular 表單驗(yàn)證功能詳細(xì)介紹,使用 Angular 的內(nèi)置表單校驗(yàn)?zāi)軌蛲瓿山^大多數(shù)的業(yè)務(wù)場(chǎng)景的校驗(yàn)需求,有興趣的可以了解一下
    2017-05-05
  • Angular6 正則表達(dá)式允許輸入部分中文字符

    Angular6 正則表達(dá)式允許輸入部分中文字符

    這篇文章主要介紹了Angular6 正則表達(dá)式允許輸入部分中文字符的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-09-09
  • angularjs實(shí)現(xiàn)的前端分頁(yè)控件示例

    angularjs實(shí)現(xiàn)的前端分頁(yè)控件示例

    本篇文章主要介紹了angularjs實(shí)現(xiàn)的前端分頁(yè)控件示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • angularjs實(shí)現(xiàn)柱狀圖動(dòng)態(tài)加載的示例

    angularjs實(shí)現(xiàn)柱狀圖動(dòng)態(tài)加載的示例

    本篇文章主要介紹了angularjs實(shí)現(xiàn)柱狀圖動(dòng)態(tài)加載的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • AngularJS基礎(chǔ) ng-focus 指令簡(jiǎn)單示例

    AngularJS基礎(chǔ) ng-focus 指令簡(jiǎn)單示例

    本文主要介紹AngularJS ng-focus 指令,這里整理了ng-focus的一些基礎(chǔ)資料,并附一個(gè)實(shí)例代碼,有需要的小伙伴參考下
    2016-08-08
  • 簡(jiǎn)單說(shuō)說(shuō)angular.json文件的使用

    簡(jiǎn)單說(shuō)說(shuō)angular.json文件的使用

    這篇文章主要介紹了簡(jiǎn)單說(shuō)說(shuō)angular.json文件的使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • angularjs實(shí)現(xiàn)上拉加載和下拉刷新數(shù)據(jù)功能

    angularjs實(shí)現(xiàn)上拉加載和下拉刷新數(shù)據(jù)功能

    本篇文章主要介紹了angularjs實(shí)現(xiàn)上拉加載和下拉刷新數(shù)據(jù)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • AngularJS 過(guò)濾器(自帶和自建)詳解

    AngularJS 過(guò)濾器(自帶和自建)詳解

    這篇文章主要介紹了AngularJS 過(guò)濾器(自帶和自建)詳解的相關(guān)資料,需要的朋友可以參考下
    2016-09-09

最新評(píng)論