angular.js - angularjs中的攔截器會攔截哪些請求?
滿天的星座
滿天的星座 2017-05-15 17:13:17
0
4
718

在angularjs中加入攔截器,發現$http發出的請求會攔截,但$window.location.href確不會攔截,想請問一下攔截器是不是只攔截$http發出的請求?

滿天的星座
滿天的星座

全部回覆(4)
为情所困

官方文件解釋的比較清楚,也有例子
https://docs.angularjs.org/ap...$http

// register the interceptor as a service
$provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
  return {
    // optional method
    'request': function(config) {
      // do something on success
      return config;
    },

    // optional method
   'requestError': function(rejection) {
      // do something on error
      if (canRecover(rejection)) {
        return responseOrNewPromise
      }
      return $q.reject(rejection);
    },



    // optional method
    'response': function(response) {
      // do something on success
      return response;
    },

    // optional method
   'responseError': function(rejection) {
      // do something on error
      if (canRecover(rejection)) {
        return responseOrNewPromise
      }
      return $q.reject(rejection);
    }
  };
});

$httpProvider.interceptors.push('myHttpInterceptor');


// alternatively, register the interceptor via an anonymous factory
$httpProvider.interceptors.push(function($q, dependency1, dependency2) {
  return {
   'request': function(config) {
       // same as above
    },

    'response': function(response) {
       // same as above
    }
  };
});
小葫芦

跳到新的頁面不執行攔截器中的程式碼

刘奇

我記得是html 與 介面請求,之前console.log過

曾经蜡笔没有小新

所謂 $window 其实是对浏览器 window 物件的​​引用的二次包裝,那為什麼會有這個東東呢?目的主要是為了程式碼可測試性。

所以,結論是這玩意跟 $http 一點關係都沒有,自然也不會走攔截器

當然,我還是挺懂題主,無非就是希望在做跳轉時做一些額外的事情。這個問題,只能從路由方面去解決了。

以上!

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!