angular 用拦截器统一处理http请求和响应的方法


Posted in Javascript onJune 08, 2017

想使用angularjs里的htpp向后台发送请求,现在有个用户唯一识别的token想要放到headers里面去,也就是{headres:{'token':1}}

index.html里引入以下js:

angular.module('app.factorys',[])
  .factory('httpInterceptor',['$q','$injector','$localStorage',function ($q,$injector,$localStorage) {
    var httpInterceptor = {
      'responseError' : function(response) {
        // ......
        return $q.reject(response);
      },
      'response' : function(response) {
        if (response.status == 21000) {
          // console.log('do something...');
        }
        return response || $q.when(response);
      },
      'request' : function(config) {
        config.headers = config.headers || {};
        if ($localStorage.token) {
          config.headers.token = $localStorage.token;
          // config.headers['X-Access-Token'] = $localStorage.token;
        };

        return config || $q.when(config);

        return config;
      },
      'requestError' : function(config){
        // ......
        return $q.reject(config);
      }
    };
    return httpInterceptor;
  }])

在app里注入factory后,在config里面配置

.config(['$httpProvider',function(){
  $httpProvider.interceptors.push(httpInterceptor);
}])

以上这篇angular 用拦截器统一处理http请求和响应的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
innerHTML 和 getElementsByName 在IE下面的bug 的解决
Apr 09 Javascript
JavaScript中如何通过arguments对象实现对象的重载
May 12 Javascript
基于JavaScript短信验证码如何实现
Jan 24 Javascript
jQuery页面加载初始化的3种方法(推荐)
Jun 02 Javascript
Ajax验证用户名或昵称是否已被注册
Apr 05 Javascript
JS实现的DOM插入节点操作示例
Apr 04 Javascript
深入Vue-Router路由嵌套理解
Aug 13 Javascript
详解解决Vue相同路由参数不同不会刷新的问题
Oct 12 Javascript
在vue中高德地图引入和轨迹的绘制的实现
Oct 11 Javascript
JS性能优化实现方法及优点进行
Aug 30 Javascript
原生js实现放大镜组件
Jan 22 Javascript
vue打包时去掉所有的console.log
Apr 10 Vue.js
jQuery 添加样式属性的优先级别方法(推荐)
Jun 08 #jQuery
Ionic项目中Native Camera的使用方法
Jun 07 #Javascript
详解angular ui-grid之过滤器设置
Jun 07 #Javascript
微信小程序 地图map实例详解
Jun 07 #Javascript
微信小程序 http请求的session管理
Jun 07 #Javascript
Ionic2开发环境搭建教程
Aug 20 #Javascript
微信小程序Redux绑定实例详解
Jun 07 #Javascript
You might like
在Mac OS的PHP环境下安装配置MemCache的全过程解析
2016/02/15 PHP
php微信开发之自定义菜单实现
2016/11/18 PHP
PHP设计模式之建造者模式定义与用法简单示例
2018/08/13 PHP
SWFObject Flash js调用类
2008/07/08 Javascript
angularjs的一些优化小技巧
2014/12/06 Javascript
js+css实现文字散开重组动画特效代码分享
2015/08/21 Javascript
jQuery ajax时间差导致的变量赋值问题分析
2016/01/22 Javascript
JS Array创建及concat()split()slice()的使用方法
2016/06/03 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
NodeJS远程代码执行
2016/08/28 NodeJs
原生JS实现幻灯片
2017/02/22 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
2017/04/11 Javascript
Angular directive递归实现目录树结构代码实例
2017/05/05 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
关于Vue中$refs的探索浅析
2020/11/05 Javascript
[01:19:11]Ti4 循环赛第二日 NaVi.us vs iG
2014/07/11 DOTA
python实现批量修改文件名代码
2017/09/10 Python
python3字符串操作总结
2019/07/24 Python
简述 Python 的类和对象
2020/08/21 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
python自动化办公操作PPT的实现
2021/02/05 Python
你的自行车健身专家:FaFit24
2016/11/16 全球购物
美国孕妇装品牌:Destination Maternity
2018/02/04 全球购物
利用异或运算实现两个无符号数的加法运算
2013/12/20 面试题
平民服装店创业计划书
2014/01/17 职场文书
大学总结自我鉴定
2014/01/18 职场文书
生产部岗位职责范文
2014/02/07 职场文书
家长对学生的评语
2014/04/18 职场文书
《沉香救母》教学反思
2014/04/19 职场文书
公共场所禁烟标语
2014/06/25 职场文书
领导工作表现评语
2015/01/04 职场文书
2015年三八妇女节活动总结
2015/02/06 职场文书
环卫工作个人总结
2015/03/04 职场文书
停电调休通知
2015/04/16 职场文书
廉洁自律承诺书2016
2016/03/25 职场文书
vue-cli4.5.x快速搭建项目
2021/05/30 Vue.js