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实现异步刷新的代码(转载)
Mar 29 Javascript
jQuery实现瀑布流的取巧做法分享
Jan 12 Javascript
JavaScript数据结构和算法之图和图算法
Feb 11 Javascript
jquery实现可关闭的倒计时广告特效代码
Sep 02 Javascript
JS仿淘宝实现的简单滑动门效果代码
Oct 14 Javascript
浅析JavaScript中的对象类型Object
May 26 Javascript
dul无法加载bootstrap实现unload table/user恢复
Sep 29 Javascript
HTML Table 空白单元格补全的简单实现
Oct 13 Javascript
vue.js实现价格格式化的方法
May 23 Javascript
原生javascript AJAX 三级联动的实现代码
May 04 Javascript
Async/Await替代Promise的6个理由
Jun 15 Javascript
vue中keep-alive,include的缓存问题
Nov 26 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
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
Laravel 5.4前后台分离,通过不同的二级域名访问方法
2019/10/13 PHP
在UpdatePanel内jquery easyui效果失效的解决方法
2010/04/11 Javascript
jquery 学习之一 对象访问
2010/11/23 Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
2011/04/27 Javascript
在JavaScript里嵌入大量字符串常量的实现方法
2013/07/07 Javascript
javascript事件模型实例分析
2015/01/30 Javascript
js实现简单选项卡与自动切换效果的方法
2015/04/10 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
2016/01/21 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
jQuery、layer实现弹出层的打开、关闭功能
2017/06/28 jQuery
node中IO以及定时器优先级详解
2019/05/10 Javascript
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
2019/10/26 jQuery
jquery实现直播视频弹幕效果
2020/02/25 jQuery
JS错误处理与调试操作实例分析
2020/04/13 Javascript
Vue+Java 通过websocket实现服务器与客户端双向通信操作
2020/09/22 Javascript
Angular短信模板校验代码
2020/09/23 Javascript
netbeans7安装python插件的方法图解
2013/12/24 Python
简单理解Python中基于生成器的状态机
2015/04/13 Python
python队列queue模块详解
2018/04/27 Python
python tkinter canvas 显示图片的示例
2019/06/13 Python
Python编写通讯录通过数据库存储实现模糊查询功能
2019/07/18 Python
Django models.py应用实现过程详解
2019/07/29 Python
Python 获取项目根路径的代码
2019/09/27 Python
python实发邮件实例详解
2019/11/11 Python
Python中的引用和拷贝实例解析
2019/11/14 Python
Tensorflow累加的实现案例
2020/02/05 Python
Django Channel实时推送与聊天的示例代码
2020/04/30 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
Python中的None与 NULL(即空字符)的区别详解
2020/09/24 Python
python 利用toapi库自动生成api
2020/10/19 Python
Django自定义YamlField实现过程解析
2020/11/11 Python
家庭贫困证明书(3篇)
2014/09/15 职场文书
工资证明格式模板
2015/06/12 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
Spring Boot DevTools 全局配置学习指南
2022/03/31 Java/Android