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基础整理1
Dec 06 Javascript
利用javascript数组长度循环数组内所有元素
Dec 27 Javascript
Javascript页面跳转常见实现方式汇总
Nov 28 Javascript
全面了解JavaScript的数据类型转换
Jul 01 Javascript
javascript垃圾收集机制的原理分析
Dec 08 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
Jan 22 Javascript
利用n工具轻松管理Node.js的版本
Apr 21 Javascript
如何在AngularJs中调用第三方插件库
May 21 Javascript
详解Vue组件之间的数据通信实例
Jun 17 Javascript
使用js实现将后台传入的json数据放在前台显示
Aug 06 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
Jul 23 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
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
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
捕获和分析JavaScript Error的方法
2014/03/25 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
freemarker判断对象是否为空的方法
2015/08/13 Javascript
浅析函数声明和函数表达式——函数声明的声明提前
2016/05/03 Javascript
Bootstrap轮播插件使用代码
2016/10/11 Javascript
Angular路由ui-router配置详解
2018/08/01 Javascript
微信用户访问小程序的登录过程详解
2019/09/20 Javascript
vue-以文件流-blob-的形式-下载-导出文件操作
2020/08/07 Javascript
python 类详解及简单实例
2017/03/24 Python
Python中支持向量机SVM的使用方法详解
2017/12/26 Python
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
python爬虫基本知识
2018/03/05 Python
通过Python 接口使用OpenCV的方法
2018/04/02 Python
PHP实现发送和接收JSON请求
2018/06/07 Python
django富文本编辑器的实现示例
2019/04/10 Python
opencv转换颜色空间更改图片背景
2019/08/20 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
Python使用Selenium实现淘宝抢单的流程分析
2020/06/23 Python
Opencv+Python识别PCB板图片的步骤
2021/01/07 Python
html5如何及时更新缓存文件(js、css或图片)
2013/06/24 HTML / CSS
美国最大的旗帜经销商:Carrot-Top
2018/02/26 全球购物
俄罗斯GamePark游戏商店网站:购买游戏、游戏机和配件
2020/03/13 全球购物
财经学院自荐信范文
2014/02/02 职场文书
抄作业检讨书
2014/02/17 职场文书
技术总监管理职责范本
2014/03/06 职场文书
会计工作决心书
2014/03/11 职场文书
幼儿园教师师德师风演讲稿:爱我所爱 无悔青春
2014/09/10 职场文书
三八妇女节慰问信
2015/02/14 职场文书
公司员工辞职信范文
2015/05/12 职场文书
学术会议开幕词
2016/03/03 职场文书
MySql学习笔记之事务隔离级别详解
2021/05/12 MySQL
react合成事件与原生事件的相关理解
2021/05/13 Javascript
Redis 报错 error:NOAUTH Authentication required
2022/05/15 Redis
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技