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 相关文章推荐
Javascript实现的分页函数
Dec 22 Javascript
$()JS小技巧
Jul 21 Javascript
用js 让图片在 div或dl里 居中,底部对齐
Jan 21 Javascript
jQuery UI Dialog 创建友好的弹出对话框实现代码
Apr 12 Javascript
js中对象的声明方式以及数组的一些用法示例
Dec 11 Javascript
js使用for循环与innerHTML获取选中tr下td值
Sep 26 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
Apr 17 Javascript
JS获取当前页面名称的简单实例
Aug 19 Javascript
Javascript ES6中数据类型Symbol的使用详解
May 02 Javascript
Vue组件选项props实例详解
Aug 18 Javascript
微信小程序image图片加载完成监听
Aug 31 Javascript
小程序实现简单语音聊天的示例代码
Jul 24 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
咖啡的化学
2021/03/03 咖啡文化
thinkPHP框架实现图像裁剪、缩放、加水印的方法
2017/03/14 PHP
PHP 数组黑名单/白名单实例代码详解
2019/06/04 PHP
25个非常棒的jQuery滑块插件和教程小结
2011/09/02 Javascript
javascript判断chrome浏览器的方法
2014/03/26 Javascript
网站基于flash实现的Banner图切换效果代码
2014/10/14 Javascript
js+html5实现canvas绘制镂空字体文本的方法
2015/06/05 Javascript
基于jQuery+Cookie实现的防止刷新的在线考试倒计时
2015/06/19 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
2015/09/24 Javascript
基于JavaScript实现移动端点击图片查看大图点击大图隐藏
2015/11/04 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
jquery表单插件form使用方法详解
2017/01/20 Javascript
在 Vue 项目中引入 tinymce 富文本编辑器的完整代码
2018/05/04 Javascript
Vue 实现前端权限控制的示例代码
2019/07/09 Javascript
[20:57]Ti4主赛事第三天开幕式
2014/07/21 DOTA
[05:22]DOTA2 2015国际邀请赛中国区预选赛首日TOP10
2015/05/26 DOTA
Python多线程编程(五):死锁的形成
2015/04/05 Python
Python中使用Queue和Condition进行线程同步的方法
2016/01/19 Python
python组合无重复三位数的实例
2018/11/13 Python
对web.py设置favicon.ico的方法详解
2018/12/04 Python
python版本五子棋的实现代码
2018/12/11 Python
Python可迭代对象操作示例
2019/05/07 Python
python 实现倒计时功能(gui界面)
2020/11/11 Python
美国性感内衣店:Yandy
2018/06/12 全球购物
英国在线购买轮胎、预订汽车、汽车维修和装配网站:Protyre
2020/04/12 全球购物
城管执法人员个人对照检查材料思想汇报
2014/09/29 职场文书
领导班子整改方案和个人整改措施
2014/10/25 职场文书
2015年党员个人剖析材料
2014/12/18 职场文书
大学学生会辞职信
2015/05/13 职场文书
2015年底工作总结范文
2015/05/15 职场文书
2015小学师德工作总结
2015/07/21 职场文书
Vue CLI中模式与环境变量的深入详解
2021/05/30 Vue.js
Python pyecharts绘制条形图详解
2022/04/02 Python
MySQL 逻辑备份 into outfile
2022/05/15 MySQL
Windows Server 2008配置防火墙策略详解
2022/06/28 Servers