欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

AngularJS中的攔截器實(shí)例詳解

 更新時(shí)間:2017年04月07日 15:29:57   投稿:lqh  
這篇文章主要介紹了AngularJS中的攔截器實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下

AngularJS中的攔截器實(shí)例詳解

異步操作

有時(shí)候需要在攔截器中做一些異步操作。幸運(yùn)的是, AngularJS 允許我們返回一個(gè) promise 延后處理。它將會(huì)在請(qǐng)求攔截器中延遲發(fā)送請(qǐng)求或者在響應(yīng)攔截器中推遲響應(yīng)。

下面是項(xiàng)目中用到的代碼。

ZbtjxcApp.factory('myHttpInterceptor', ['$q', '$window','$location', function($q, $window,$location) {
  return {
    // 全局響應(yīng)
    'response': function(response) {
      // 這里還可以利用promise做異步處理,目前不用做,好像也能滿足需求
      switch (response.status) {
        case (200):
          if (response.data) {
            //這里可以做自己相應(yīng)的處理
            if (response.data.code == 100100) {
              $window.location.href = "/login.html";
            } 
            /*else if(response.data.code = 100200) {
              $location.path('/unauthorized');
            }*/
          }
          break;
        case (500):
          //后期在處理
          console.log("服務(wù)器正忙 -- 500");
          break;
        case (404):
          console.log("not found -- 404");
          break;
        default:
          console.log("服務(wù)器正忙");
      }
      return response;
    }
  };
}]).config(['$httpProvider', function($httpProvider) {
  $httpProvider.interceptors.push('myHttpInterceptor');
}]);

ZbtjxcApp.factory('pageService', ['$http', function($http) {
  var getPageList = function(geturl, getdata) {
    return $http.get(geturl, {
      params: getdata
    });
  }
  return {
    getPageList: getPageList
  };
}]);


感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

最新評(píng)論