AngularJS中的拦截器实例详解


Posted in Javascript onApril 07, 2017

AngularJS中的拦截器实例详解

异步操作

有时候需要在拦截器中做一些异步操作。幸运的是, AngularJS 允许我们返回一个 promise 延后处理。它将会在请求拦截器中延迟发送请求或者在响应拦截器中推迟响应。

下面是项目中用到的代码。

ZbtjxcApp.factory('myHttpInterceptor', ['$q', '$window','$location', function($q, $window,$location) {
  return {
    // 全局响应
    'response': function(response) {
      // 这里还可以利用promise做异步处理,目前不用做,好像也能满足需求
      switch (response.status) {
        case (200):
          if (response.data) {
            //这里可以做自己相应的处理
            if (response.data.code == 100100) {
              $window.location.href = "/login.html";
            } 
            /*else if(response.data.code = 100200) {
              $location.path('/unauthorized');
            }*/
          }
          break;
        case (500):
          //后期在处理
          console.log("服务器正忙 -- 500");
          break;
        case (404):
          console.log("not found -- 404");
          break;
        default:
          console.log("服务器正忙");
      }
      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
  };
}]);

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
利用jQuery的deferred对象实现异步按顺序加载JS文件
Mar 17 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
Oct 07 Javascript
node.js中的fs.chownSync方法使用说明
Dec 16 Javascript
JavaScript中的标签语句用法分析
Feb 10 Javascript
javascript实现table选中的行以指定颜色高亮显示的方法
May 13 Javascript
跟我学习javascript的执行上下文
Nov 18 Javascript
jQuery使用ajax方法解析返回的json数据功能示例
Jan 10 Javascript
ztree简介_动力节点Java学院整理
Jul 19 Javascript
对vue v-if v-else-if v-else 的简单使用详解
Sep 29 Javascript
Vue 组件参数校验与非props特性的方法
Feb 12 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
Dec 30 jQuery
原生js生成图片验证码
Oct 11 Javascript
Vue.js如何优雅的进行form validation
Apr 07 #Javascript
详解Node.js实现301、302重定向服务
Apr 07 #Javascript
Express URL跳转(重定向)的实现方法
Apr 07 #Javascript
微信小程序 首页制作简单实例
Apr 07 #Javascript
微信小程序 商城开发(ecshop )简单实例
Apr 07 #Javascript
js控制文本框禁止输入特殊字符详解
Apr 07 #Javascript
ES6学习笔记之Set和Map数据结构详解
Apr 07 #Javascript
You might like
PHP利用COM对象访问SQLServer、Access
2006/10/09 PHP
php中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
php实现模拟post请求用法实例
2015/07/11 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
laravel 自定义常量的两种方案
2019/10/14 PHP
取键盘键位ASCII码的网页
2007/07/30 Javascript
javascript开发随笔一 preventDefault的必要
2011/11/25 Javascript
jquery显示隐藏input对象
2014/07/21 Javascript
JavaScript判断数组重复内容的两种方法(推荐)
2016/06/06 Javascript
javaScript封装的各种写法
2017/08/14 Javascript
浅谈vue的踩坑路
2017/08/31 Javascript
Vue shopCart 组件开发详解
2018/01/26 Javascript
vue实现pdf导出解决生成canvas模糊等问题(推荐)
2018/10/18 Javascript
微信小程序冒泡事件及其阻止方法实例分析
2018/12/06 Javascript
vue 表单验证按钮事件交由父组件触发的方法
2018/12/17 Javascript
微信小程序实现星级评价
2019/11/20 Javascript
vue使用map代替Aarry数组循环遍历的方法
2020/04/30 Javascript
[46:47]完美世界DOTA2联赛PWL S2 FTD vs Magma 第二场 11.20
2020/11/23 DOTA
python海龟绘图实例教程
2014/07/24 Python
python实现爬取千万淘宝商品的方法
2015/06/30 Python
利用Python中unittest实现简单的单元测试实例详解
2017/01/09 Python
python递归查询菜单并转换成json实例
2017/03/27 Python
python调用c++传递数组的实例
2019/02/13 Python
Python Pandas数据中对时间的操作
2019/07/30 Python
Python数据库小程序源代码
2019/09/15 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
2020/01/09 Python
如何在Anaconda中打开python自带idle
2020/09/21 Python
菲律宾酒店预订网站:Hotels.com菲律宾
2017/07/12 全球购物
Nike德国官网:Nike.com (DE)
2018/11/13 全球购物
英国屋顶用品和材料超市:Roofing Supplies UK
2019/08/24 全球购物
男女朋友协议书
2014/04/23 职场文书
2014年人事行政工作总结
2014/12/03 职场文书
银行文明优质服务培训心得体会
2016/01/09 职场文书
观看《筑梦中国》纪录片心得体会
2016/01/18 职场文书
小学生节约用水倡议书
2019/08/12 职场文书
Spring Data JPA的Audit功能审计数据库的变更
2021/06/26 Java/Android