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的实现原理的模拟代码 -3 事件处理
Aug 03 Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
Dec 12 Javascript
jQuery点击弹出下拉菜单的小例子
Aug 01 Javascript
jquery获取元素值的方法(常见的表单元素)
Nov 15 Javascript
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
Oct 17 Javascript
详解Angular开发中的登陆与身份验证
Jul 27 Javascript
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
May 08 jQuery
微信小程序 蓝牙的实现实例代码
Jun 27 Javascript
浅谈Node模块系统及其模式
Nov 17 Javascript
vue中axios的封装问题(简易版拦截,get,post)
Jun 15 Javascript
ES6新增的数组知识实例小结
May 23 Javascript
原生js实现滑块区间组件
Jan 20 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 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
php实现上传图片保存到数据库的方法
2015/02/11 PHP
js 剪切板应用clipboardData详细解析
2013/12/17 Javascript
jQuery常用数据处理方法小结
2015/02/20 Javascript
原生js制作简单的数字键盘
2015/04/24 Javascript
JavaScript与HTML的结合方法详解
2015/11/23 Javascript
浅析JS异步加载进度条
2016/05/05 Javascript
js实时获取窗口大小变化的实例代码
2016/11/18 Javascript
Flask中获取小程序Request数据的两种方法
2017/05/12 Javascript
详解angularJS自定义指令间的相互交互
2017/07/05 Javascript
原生JS与jQuery编写简单选项卡
2017/10/30 jQuery
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
2019/03/13 Javascript
python实现爬虫下载漫画示例
2014/02/16 Python
pycharm 使用心得(七)一些实用功能介绍
2014/06/06 Python
深入理解python中的闭包和装饰器
2016/06/12 Python
Python实现的单向循环链表功能示例
2017/11/10 Python
Django中ORM表的创建和增删改查方法示例
2017/11/15 Python
python生成n个元素的全组合方法
2018/11/13 Python
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
2019/07/04 Python
Python搭建代理IP池实现检测IP的方法
2019/10/27 Python
python numpy 反转 reverse示例
2019/12/04 Python
Tensorflow加载Vgg预训练模型操作
2020/05/26 Python
戴森美国官网:Dyson美国
2016/09/11 全球购物
jurlique茱莉蔻英国官网:澳洲天然护肤品
2018/08/03 全球购物
软件工程师面试题
2012/06/25 面试题
后勤工作职责
2013/12/22 职场文书
党的群众路线教育实践活动学习心得体会
2014/03/03 职场文书
2014年小学工作总结
2014/11/26 职场文书
四年级小学生评语
2014/12/26 职场文书
学校工会工作总结2015
2015/05/19 职场文书
钱学森电影观后感
2015/06/04 职场文书
Python控制台输出俄罗斯方块移动和旋转功能
2021/04/18 Python
java协程框架quasar和kotlin中的协程对比分析
2022/02/24 Java/Android