想使用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);
}])

如果你的代码并未做拆分,可以直接在config里面写拦截器

 $httpProvider.interceptors.push(['$q','$injector','$localStorage',function ($q,$injector,$localStorage) {var httpInterceptor = {'responseError' : function(response) {// todo...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.ut = $localStorage.token; //把你登录接口返回给你的token存到$localStorage里面,在这里取就好了// config.headers['X-Access-Token'] = $localStorage.token;
                    };return config || $q.when(config);// return config;
                },'requestError' : function(config){// todo...return $q.reject(config);}};return httpInterceptor;}]);

转载于:https://www.cnblogs.com/cynthia-wuqian/p/6958659.html

angular 用拦截器统一处理http请求和响应 比如加token相关推荐

  1. vue项目中 axios请求拦截器与取消pending请求功能 - 年少、 - 博客园

    在开发vue项目中,请求是不可缺少的,在发送请求时常常需要统一处理一些请求头参数等设置与响应事件,这时利用请求拦截器再好不过. 这里以axios请求为例 实现了设置统一请求头添加token, 其中to ...

  2. 拦截器获取请求参数post_SpringBoot拦截器如何获取http请求参数

    1.1.获取http请求参数是一种刚需 我想有的小伙伴肯定有过获取http请求的需要,比如想 前置获取参数,统计请求数据 做服务的接口签名校验 敏感接口监控日志 敏感接口防重复提交 等等各式各样的场景 ...

  3. springboot拦截请求路径_SpringBoot拦截器如何获取http请求参数

    1.1.获取http请求参数是一种刚需 我想有的小伙伴肯定有过获取http请求的需要,比如想 前置获取参数,统计请求数据 做服务的接口签名校验 敏感接口监控日志 敏感接口防重复提交 等等各式各样的场景 ...

  4. Android Retrofit通过OkHttp设置Interceptor拦截器统一打印请求报文及返回报文

    我们先定义一个打印报文的拦截器,继承Interceptor public class LogInterceptor implements Interceptor {private static fin ...

  5. AJAX,SpringMVC,拦截器(Ajax发送请求 经过SpringMVC拦截器重定向其他页面失败)

    Ajax发送请求 经过SpringMVC拦截器重定向其他页面失败 借鉴出处 Ajax是通过异步请求后台,获取数据,局部刷新页面,因此,即使后台进行页面跳转的编码,前台请求完毕以后,只会执行ajax的回 ...

  6. vue 项目 axios 响应拦截器 统一判断401 (登录)过期

    背景: 为了模拟token 过期,专门把token 设置错误,为401 界面 把axios 官网里的 复制到拦截器里  放置到request.js 里 在响应器里进行判断4**, 5** 状态码错误 ...

  7. jboot 在拦截器中如何获取 请求的IP地址

    1024祝所有程序员程序节日快乐,无BUG,不秃头,QAQ public void intercept(Invocation inv) {JbootController c = (JbootContr ...

  8. axios拦截器_78.1K 的 Axios 项目有哪些值得借鉴的地方

    Axios 是一个基于 Promise 的 HTTP 客户端,同时支持浏览器和 Node.js 环境.它是一个优秀的 HTTP 客户端,被广泛地应用在大量的 Web 项目中. 由上图可知,Axios ...

  9. 浅谈axios.interceptors拦截器

    一.引言: 拦截器顾名思义就是对请求的拦截,分别为请求拦截器和响应拦截器, 执行顺序: 请求拦截器 -> api请求 -> 响应拦截器. axios实现这个拦截器机制如下:         ...

最新文章

  1. 雷达 lidar slam
  2. 重载new、delete和强制类型转换运算符()
  3. LeetCode 264. Ugly Number II--C++,Python解法
  4. 01--swift之基本运算符
  5. 【干货】张小龙演讲PPT:APP产品经理必须要懂的30条原则
  6. python中的zip()函数和map()函数
  7. 【源码解读】Screencap源码分析-基础篇
  8. 使用promise封装ajax
  9. mysql报错乱码_连接mysql服务器报错时,出现乱码
  10. java8新特性(7)— Base64
  11. mysql count or null_为什么在对带有条件的行进行计数时,为什么在MySQL中需要“ OR NULL”...
  12. js中的关键子in的使用方法
  13. C++:以空格分隔的字符串的输入输出
  14. 2022年G2电站锅炉司炉报名考试及G2电站锅炉司炉考试技巧
  15. X509证书信任管理器类的详解
  16. Java爬虫 爬取英雄联盟英雄的皮肤图片到本地
  17. matlab 三角分解法 解线性方程组的直接方法
  18. 国外LEAD赚钱的一些习惯
  19. MySQL第一讲-mysql的基本框架和查询命令流程
  20. ubuntu下如何设置PageUp/PageDown键调出使用过的历史命令

热门文章

  1. 前沿研究丨基于驾驶脑的智能驾驶车辆硬件平台架构
  2. 好文|奔向宇宙,揭开太空机器人的神秘面纱
  3. 计算机、数学、运筹学等领域32个重要算法
  4. 一文读懂产业互联网的前世今生!
  5. 6分钟完成ImageNet训练,NVIDIA创下六项AI性能新记录!
  6. 解析:GE工业互联网平台Predix
  7. 厉害!国内大学生计算机编程第一人,一人挑战一个队,百度最年轻 T10,现创业自动驾驶...
  8. VS2005右键点击转到定义后出现“未定义符号”的提示及其解决
  9. 【整理】SYSCOMMAND的wParam值的宏定义
  10. P3321 [SDOI2015]序列统计