angular 用拦截器统一处理http请求和响应 比如加token
想使用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相关推荐
- vue项目中 axios请求拦截器与取消pending请求功能 - 年少、 - 博客园
在开发vue项目中,请求是不可缺少的,在发送请求时常常需要统一处理一些请求头参数等设置与响应事件,这时利用请求拦截器再好不过. 这里以axios请求为例 实现了设置统一请求头添加token, 其中to ...
- 拦截器获取请求参数post_SpringBoot拦截器如何获取http请求参数
1.1.获取http请求参数是一种刚需 我想有的小伙伴肯定有过获取http请求的需要,比如想 前置获取参数,统计请求数据 做服务的接口签名校验 敏感接口监控日志 敏感接口防重复提交 等等各式各样的场景 ...
- springboot拦截请求路径_SpringBoot拦截器如何获取http请求参数
1.1.获取http请求参数是一种刚需 我想有的小伙伴肯定有过获取http请求的需要,比如想 前置获取参数,统计请求数据 做服务的接口签名校验 敏感接口监控日志 敏感接口防重复提交 等等各式各样的场景 ...
- Android Retrofit通过OkHttp设置Interceptor拦截器统一打印请求报文及返回报文
我们先定义一个打印报文的拦截器,继承Interceptor public class LogInterceptor implements Interceptor {private static fin ...
- AJAX,SpringMVC,拦截器(Ajax发送请求 经过SpringMVC拦截器重定向其他页面失败)
Ajax发送请求 经过SpringMVC拦截器重定向其他页面失败 借鉴出处 Ajax是通过异步请求后台,获取数据,局部刷新页面,因此,即使后台进行页面跳转的编码,前台请求完毕以后,只会执行ajax的回 ...
- vue 项目 axios 响应拦截器 统一判断401 (登录)过期
背景: 为了模拟token 过期,专门把token 设置错误,为401 界面 把axios 官网里的 复制到拦截器里 放置到request.js 里 在响应器里进行判断4**, 5** 状态码错误 ...
- jboot 在拦截器中如何获取 请求的IP地址
1024祝所有程序员程序节日快乐,无BUG,不秃头,QAQ public void intercept(Invocation inv) {JbootController c = (JbootContr ...
- axios拦截器_78.1K 的 Axios 项目有哪些值得借鉴的地方
Axios 是一个基于 Promise 的 HTTP 客户端,同时支持浏览器和 Node.js 环境.它是一个优秀的 HTTP 客户端,被广泛地应用在大量的 Web 项目中. 由上图可知,Axios ...
- 浅谈axios.interceptors拦截器
一.引言: 拦截器顾名思义就是对请求的拦截,分别为请求拦截器和响应拦截器, 执行顺序: 请求拦截器 -> api请求 -> 响应拦截器. axios实现这个拦截器机制如下: ...
最新文章
- 雷达 lidar slam
- 重载new、delete和强制类型转换运算符()
- LeetCode 264. Ugly Number II--C++,Python解法
- 01--swift之基本运算符
- 【干货】张小龙演讲PPT:APP产品经理必须要懂的30条原则
- python中的zip()函数和map()函数
- 【源码解读】Screencap源码分析-基础篇
- 使用promise封装ajax
- mysql报错乱码_连接mysql服务器报错时,出现乱码
- java8新特性(7)— Base64
- mysql count or null_为什么在对带有条件的行进行计数时,为什么在MySQL中需要“ OR NULL”...
- js中的关键子in的使用方法
- C++:以空格分隔的字符串的输入输出
- 2022年G2电站锅炉司炉报名考试及G2电站锅炉司炉考试技巧
- X509证书信任管理器类的详解
- Java爬虫 爬取英雄联盟英雄的皮肤图片到本地
- matlab 三角分解法 解线性方程组的直接方法
- 国外LEAD赚钱的一些习惯
- MySQL第一讲-mysql的基本框架和查询命令流程
- ubuntu下如何设置PageUp/PageDown键调出使用过的历史命令
热门文章
- 前沿研究丨基于驾驶脑的智能驾驶车辆硬件平台架构
- 好文|奔向宇宙,揭开太空机器人的神秘面纱
- 计算机、数学、运筹学等领域32个重要算法
- 一文读懂产业互联网的前世今生!
- 6分钟完成ImageNet训练,NVIDIA创下六项AI性能新记录!
- 解析:GE工业互联网平台Predix
- 厉害!国内大学生计算机编程第一人,一人挑战一个队,百度最年轻 T10,现创业自动驾驶...
- VS2005右键点击转到定义后出现“未定义符号”的提示及其解决
- 【整理】SYSCOMMAND的wParam值的宏定义
- P3321 [SDOI2015]序列统计