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 相关文章推荐
jquery下组织javascript代码(js函数化)
Aug 25 Javascript
使用js写的一个简易的投票
Nov 27 Javascript
JavaScript实现关键字高亮功能
Nov 12 Javascript
jQuery实现两款有动画功能的导航菜单代码
Sep 16 Javascript
jQuery验证插件validate使用方法详解
Sep 13 Javascript
JavaScript模拟实现自由落体效果
Aug 28 Javascript
浅谈vue 单文件探索
Sep 05 Javascript
在layer弹层layer.prompt中,修改placeholder的实现方法
Sep 27 Javascript
关于vue组件事件属性穿透详解
Oct 28 Javascript
Vue.js watch监视属性知识点总结
Nov 11 Javascript
详解nginx配置vue h5 history去除#号
Nov 09 Javascript
JS addEventListener()和attachEvent()方法实现注册事件
Jan 11 Javascript
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
Discuz 6.0+ 批量注册用户名
2009/09/13 PHP
PHP时间和日期函数详解
2015/05/08 PHP
Zend Framework教程之视图组件Zend_View用法详解
2016/03/05 PHP
JavaScript脚本语言在网页中的简单应用
2007/05/13 Javascript
javascript中的变量作用域以及变量提升详细介绍
2013/10/24 Javascript
JavaScript获取网页表单提交方式的方法
2015/04/02 Javascript
全面理解JavaScript中的继承(必看)
2016/06/16 Javascript
JavaScript观察者模式(publish/subscribe)原理与实现方法
2017/03/30 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
vuex 的简单使用
2018/03/22 Javascript
微信小程序实现写入读取缓存详解
2019/08/30 Javascript
JavaScript实现多层颜色选项卡嵌套
2020/09/21 Javascript
在vue中通过render函数给子组件设置ref操作
2020/11/17 Vue.js
[01:07:47]Secret vs Optic Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
Python程序设计入门(5)类的使用简介
2014/06/16 Python
解决python大批量读写.doc文件的问题
2018/05/08 Python
对TensorFlow中的variables_to_restore函数详解
2018/07/30 Python
Python语言快速上手学习方法
2018/12/14 Python
Django  ORM 练习题及答案
2019/07/19 Python
python psutil模块使用方法解析
2019/08/01 Python
python迭代器常见用法实例分析
2019/11/22 Python
详解Python实现进度条的4种方式
2020/01/15 Python
Python多分支if语句的使用
2020/09/03 Python
Python爬虫回测股票的实例讲解
2021/01/22 Python
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
2012/06/04 HTML / CSS
10个最常见的HTML5面试题 附答案
2016/06/06 HTML / CSS
美国最大的网上冲印店:Shutterfly
2017/01/01 全球购物
化学相关工作求职信
2013/10/02 职场文书
五年级音乐教学反思
2014/02/06 职场文书
公司授权委托书样本
2014/09/15 职场文书
2014年社区国庆节活动方案
2014/09/16 职场文书
解除劳动合同证明书模板
2014/11/20 职场文书
个人年终总结怎么写
2015/03/09 职场文书
只需要12页,掌握撰写一流商业计划书的技巧
2019/05/07 职场文书
赞美教师的句子
2019/09/02 职场文书
Python中Selenium对Cookie的操作方法
2021/07/09 Python