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 相关文章推荐
window.dialogArguments 使用说明
Apr 11 Javascript
网页右键ie不支持event.preventDefault和event.returnValue (需要加window)
Feb 22 Javascript
深入理解Javascript动态方法调用与参数修改的问题
Dec 10 Javascript
jquery uploadify 在FF下无效的解决办法
Sep 26 Javascript
node.js中的fs.statSync方法使用说明
Dec 16 Javascript
javascript实现动态表头及表列的展现方法
Jul 14 Javascript
解析JavaScript的ES6版本中的解构赋值
Jul 28 Javascript
jQuery实现动态添加和删除一个div
Aug 12 Javascript
详解如何让Express支持async/await
Oct 09 Javascript
jquery.picsign图片标注组件实例详解
Feb 02 jQuery
Vue Elenent实现表格相同数据列合并
Nov 30 Vue.js
Javascript中Microtask和Macrotask鲜为人知的知识点
Apr 02 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
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
PHP 转义使用详解
2013/07/15 PHP
PHP使用GETDATE获取当前日期时间作为一个关联数组的方法
2015/03/19 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
jQuery的学习步骤
2011/02/23 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
JS 去除Array中的null值示例代码
2013/11/20 Javascript
如何正确使用javascript 来进行我们的程序开发
2014/06/23 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
基于JavaScript实现单选框下拉菜单添加文件效果
2016/06/26 Javascript
AngularJS基础 ng-dblclick 指令用法
2016/08/01 Javascript
javascript内存分配原理实例分析
2017/04/10 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
VeeValidate在vue项目里表单校验应用案例
2018/05/09 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
2018/05/13 Javascript
如何测量vue应用运行时的性能
2019/06/21 Javascript
vue.js实现二级菜单效果
2019/10/19 Javascript
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
[04:05]TI9战队采访 - Natus Vincere
2019/08/22 DOTA
Python实现的凯撒密码算法示例
2018/04/12 Python
对python中raw_input()和input()的用法详解
2018/04/22 Python
解决Python获取字典dict中不存在的值时出错问题
2018/10/17 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
python-OpenCV 实现将数组转换成灰度图和彩图
2020/01/09 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
中职生自荐信
2013/10/13 职场文书
初中语文教学反思
2014/02/02 职场文书
机械设计及其自动化求职推荐信
2014/02/17 职场文书
事业单位分类改革实施方案
2014/03/21 职场文书
岗位廉洁从政承诺书
2014/03/27 职场文书
创优争先心得体会
2014/09/11 职场文书
仓库统计员岗位职责
2015/04/14 职场文书
辛德勒的名单观后感
2015/06/03 职场文书
小型婚礼主持词
2015/06/30 职场文书
SONY AN-LP1 短波有源天线放大器图
2022/04/05 无线电