axios拦截器(Interceptors)主要分为:

(1)请求拦截器:在发送请求前进行拦截,可以根据发送的请求参数做一些发送参数的调整,例如设置headers

(2)响应拦截器:在后台返回响应时进行拦截,可以根据状态码进入下一步处理。例如:登录失效跳转回登录页。

项目需求:根据后台返回的状态码,统一处理。例如:token失效,回到登录页面;返回错误,给出统一的错误提示。

完整代码:

// 导入axios
import axios from "axios";
import { MessageBox } from "element-ui";
const querystring = require("querystring");
import ElementUI from "element-ui";// 设置基地址-使用自定义配置新建一个 axios 实例
// 注意:打包时baseURL要加上api,即baseURL: "/api"
const http = axios.create({baseURL: "/",headers: { accessToken: localStorage.getItem("token") }
});// 拦截响应response,并做一些错误处理
http.interceptors.response.use(response => {// 登录失效处理if (response.data.respCode == "00002") {MessageBox.alert(response.data.respDesc, "登录失效", {confirmButtonText: "跳转登录页面",callback: action => {// 跳转登录页window.location.href = "/";}});} else if (response.data.respCode != "00000") {if (response.data.respDesc != "") {ElementUI.Message({title: "错误",message: response.data.respDesc,type: "error"});}}return response;},error => {if (error.response.status == 401) {ElementUI.Message({title: "警告",message: error.response.data.respDesc,type: "warning"});}return Promise.reject(error);}
);export default http;
//  ******一、登录******
// 登录请求
export const login = param => {return http.post("oauth/login/user", param, { headers: { accessToken: "" } });
};
// 退出登录
export const logout = () => {// 退出登录需要清除tokenreturn http.get("/oauth/logout", { headers: { accessToken: "" } });
};

参考文章:

GitHub Interceptors

vue.js项目中在axios响应拦截器中跳转登录页面

vue---axios拦截器处理登录失效跳转登录页相关推荐

  1. vue ajax拦截器,Vue-resource拦截器判断token失效跳转详解

    本文主要为大家带来一篇Vue-resource拦截器判断token失效跳转的实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧,希望能帮助到大家. 在拦截器中设置全局的 ...

  2. Vue axios拦截器使用

    axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端.这篇文章主要介绍了vue/axios请求拦截的相关知识,需要的朋友可以参考下 axios使用拦截器 在请求或响应 ...

  3. vue axios拦截器的封装

    // request.js import axios from 'axios' import qs from 'qs'// 创建axios实例 const service = axios.create ...

  4. vue axios 拦截器配置与封装

    一.安装 1. 利用npm安装npm install axios --save --save:安装在生产环境 二.例子 要想统一处理所有http请求和响应,就得用上 axios 的拦截器. axios ...

  5. angular4 使用HttpClient拦截器 检查token失效,返回登录页面

    1.首先创建一个拦截器服务:InterceptorService.ts 2.在app.module.ts文件里引入拦截器 import {InterceptorService} from './Int ...

  6. axios 拦截器不生效填坑

    Vue axios拦截器不生效填坑: 1.let instance = axios.create();//此处创建拦截器,拦截器处理过程省略 2.Vue.prototype.$http = insta ...

  7. vue路由守卫,axios拦截器,权限树

    K15项目案例-后台 1.分页问题 关于分页表格列中的序号问题: <el-table-column type="selection" label="序号" ...

  8. Vue学习笔记:axios 拦截器的用法

    Vue学习笔记:axios 拦截器的用法 什么是axios 拦截器? 拦截器就是拦截每一次的请求和响应,然后进行相应的处理.请求拦截器,它可以统一在你发送请求前在请求体里加上token:响应拦截器,是 ...

  9. Vue中的axios拦截器

    axios中的拦截 1.1 介绍: 拦截器包括请求拦截器与相应拦截器,可以在请求发送前或者相应后进行拦截处理.在axios对象上有一个interceptors属性,该属性又有request和respo ...

最新文章

  1. 线性表的表示和实现方式之链式表示和实现
  2. Altium Designer 的使用笔记
  3. 一步一步学Silverlight 2系列(22):在Silverlight中如何用JavaScript调用.NET代码
  4. NDK建立多个共享库
  5. github创建一个新的tag
  6. [Lua]Lua入门教程
  7. 批量将点shp转成线shp
  8. 如何下载全国行政边界线(国界、省界、县界、乡镇界)
  9. VMware ESXi定制版(OEM ISO)资源下载(包含5.1\5.5\6.0)
  10. 2020年ESA中国区10m地表覆盖数据的镶嵌、裁剪与分省数据分享
  11. 你想要的宏基因组-微生物组知识全在这(2022.10)
  12. 英国高端SPA级奢养护肤品牌EVE LOM相继入驻成都IFS、北京连卡佛;FILA斐乐携手梵高博物馆推出全新联名系列 | 知消...
  13. 《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(8)
  14. c语言实现学生档案管理系统
  15. 关于人像后期处理基础的相关技术步骤
  16. Android 动态修改app名称(市场和手机中显示两个不同的名称)
  17. 985大学计算机专业起薪,985名校毕业生有多值钱?看完这份大学毕业生薪酬榜你就知道了...
  18. 分子动力学开源分析软件MDAnalysis安装介绍及使用
  19. 关于维基百科你不知道的十件事:
  20. Chrome网页翻译失效的解决方案

热门文章

  1. 什么运动耳机佩戴舒适性好、盘点六款佩戴舒适的运动蓝牙耳机
  2. Mac删除Apowersoft_Audio Device和Apowersoft Audio Device
  3. 《炬丰科技-半导体工艺》 PVA 刷擦洗
  4. 都是韭菜,不配做后浪
  5. Java99乘法表格
  6. 5阶无向完全图_设9阶无向图的每个顶点的度数为5或6,至少有几个5度顶点,求过程及解释,要详细...
  7. JSP+ssm计算机毕业设计地方特色风味小吃的推荐系统3fs3p【源码、数据库、LW、部署】
  8. 每日一句---- Day7
  9. 剑网三服务器缺少必要启动文件,win7系统玩剑网三游戏经常掉线的解决方法
  10. 中国现代农业产业园区发展动态及未来战略规划分析报告2022年版