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 相关文章推荐
JS解密入门之凭直觉解
Jun 25 Javascript
jBox 2.3基于jquery的最新多功能对话框插件 常见使用问题解答
Nov 10 Javascript
自动刷新网页,自动刷新当前页面,JS调用
Jun 24 Javascript
关闭时刷新父窗口两种方法
May 07 Javascript
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
Aug 21 Javascript
js实现简单折叠、展开菜单的方法
Aug 28 Javascript
node.js微信公众平台开发教程
Mar 04 Javascript
Angular 2父子组件数据传递之@Input和@Output详解 (上)
Jul 05 Javascript
删除table表格行的实例讲解
Sep 21 Javascript
Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解
Sep 25 Javascript
javascript 使用sleep函数的常见方法详解
Apr 26 Javascript
Javascript var变量删除原理及实现
Aug 26 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
php 中include()与require()的对比
2006/10/09 PHP
编写安全 PHP应用程序的七个习惯深入分析
2013/06/08 PHP
PHP APC缓存配置、使用详解
2014/03/06 PHP
php while循环控制的简单实例
2016/05/30 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
2016/10/08 PHP
php反射学习之依赖注入示例
2019/06/14 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
javascript编程起步(第六课)
2007/01/10 Javascript
utf-8编码引起js输出中文乱码的解决办法
2010/06/23 Javascript
jquery 学习之二 属性(html()与html(val))
2010/11/25 Javascript
Ajax执行顺序流程及回调问题分析
2012/12/10 Javascript
js时间日期和毫秒的相互转换
2013/02/22 Javascript
asp知识整理笔记3(问答模式)
2015/09/27 Javascript
javascript匀速动画和缓冲动画详解
2016/10/20 Javascript
JS计算输出100元钱买100只鸡问题的解决方法
2018/01/04 Javascript
layui表格数据复选框回显设置方法
2019/09/13 Javascript
JavaScript实现简单随机点名器
2019/11/21 Javascript
原生JS实现留言板
2020/03/26 Javascript
python编写暴力破解FTP密码小工具
2014/11/19 Python
pandas使用get_dummies进行one-hot编码的方法
2018/07/10 Python
Python实现非正太分布的异常值检测方式
2019/12/09 Python
Python如何合并多个字典或映射
2020/07/24 Python
牧马人澳大利亚官网:Wrangler澳大利亚
2019/10/08 全球购物
农田水利实习自我鉴定
2013/09/19 职场文书
建筑公司文秘岗位职责
2013/11/29 职场文书
教师党员思想汇报
2014/01/06 职场文书
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
婚假请假条格式及范文
2014/04/10 职场文书
传播学专业毕业生自荐书
2014/07/01 职场文书
环境日宣传活动总结
2014/07/09 职场文书
县政协领导班子群众路线教育实践活动四风问题整改方案
2014/10/26 职场文书
先进个人事迹材料(2016推荐版)
2016/03/01 职场文书
多人股份制合作协议书
2016/03/19 职场文书
导游词之西江千户苗寨
2019/12/24 职场文书
Python如何把不同类型数据的json序列化
2021/04/30 Python
MySQL5.7并行复制原理及实现
2021/06/03 MySQL