1.安装axios

npm install axios --save

2.引入模块

在untils文件夹中创建request.js文件,引入axios模块

import axios from "axios";

3.创建axios实例

// 引入axios
import axios from 'axios'
// 引入提示消息组件
import { Message } from 'element-ui'
const _axios = axios.create({baseURL: process.env.VUE_APP_BASE_API
})

axios封装的好处:

1、方便后期代码的维护,

2、减少代码量,减少不必要的重复请求响应,

3、通过配合async await,让代码更加优雅

把在vue中如何将axios进行封装给说了一下;

并且把请求拦截和响应拦截,以及请求头携带token给说了一下,老大讲的也是很细致,中间的话,是因为拦截那块token处理的有点的问题,导致只要以获取到数据列表token值就变为undefined,然后讲过一步步的分析,找到了问题,最后也是解决了,这样的话也对我们也是有提升的,让我们知道下次遇到这种情况时候知道怎么处理了

axios的封装处理

import axios from 'axios'
import { Message } from 'element-ui' // Message===this.$message
import Store from '@/store'
import Router from '@/router' // Router===this.$router
const _axios = axios.create({baseURL: process.env.VUE_APP_BASE_API
})
// 请求拦截
_axios.interceptors.request.use((config) => {if (Store.state.user.token) {config.headers.Authorization = `Bearer ${Store.state.user.token}`}return config},(error) => {/*new Promise((resolve,reject)=>{reject('错误')})等效于Promise.reject('错误')*/return Promise.reject(error)}
)
// 响应拦截
_axios.interceptors.response.use((res) => {if (res.data.success) {// 成功处理return res.data} else {// 失败处理// 提示错误信息Message.error(res.data.message)// 让接口调用执行.catch,中止.then的执行return Promise.reject(res.data.message)}},(error) => {// console.dir(error)if (error.response && error.response.status === 401) {// 清除token:vuex中清除// Store.commit('user/setToken', '')// 清除用户信息:vuex中清除// Store.commit('user/setUserInfo', '')Store.commit('user/logout')// 提示错误信息Message.error(error.response.data.message)// 跳转到登录页// this.$routerRouter.push('/login?redirect=' + window.location.href.split('#')[1])}return Promise.reject(error)}
)
export default _axios

axios的请求拦截和响应拦截相关推荐

  1. axios 最全 请求拦截器 响应拦截器 配置公共请求头 超时时间 以及get delete post put 四种请求传参方式

    axios 拦截器 请求拦截器 请求拦截器的作用是在请求发送前进行一些操作 例如在每个请求体里加上token,统一做了处理如果以后要改也非常容易 响应拦截器 响应拦截器的作用是在接收到响应后进行一些操 ...

  2. axios 请求拦截器响应拦截器

    一. 拦截器介绍 一般在使用axios时,会用到拦截器的功能,一般分为两种:请求拦截器.响应拦截器. 请求拦截器 在请求发送前进行必要操作处理,例如添加统一cookie.请求体加验证.设置请求头等,相 ...

  3. axios请求拦截和响应拦截

    在我们平常调用接口的时候,会使用到拦截器这个工具,大致有两种用法,请求拦截和响应拦截. 请求拦截 axios.interceptors.request.use((config)=>{return ...

  4. axios拦截器(请求拦截和响应拦截)

    axios拦截器分为request请求拦截器和response响应拦截器. request请求拦截器:发送请求前统一处理,如:设置请求头headers等. response响应拦截器:有时候我们要根据 ...

  5. vue中axios请求拦截、响应拦截的配置

    1.在vue项目的 src/ 文件夹下新建一个文件夹为 plugins,然后在 plugins/ 下新建 axios.js 文件,写入如下代码 import axios from 'axios' im ...

  6. vue请求拦截器 响应拦截器

    import axios from "axios"; // 创建一个axios的appconst request = axios.create({baseURL:'http://1 ...

  7. axios拦截器_请求拦截器_响应拦截器---axios工作笔记010

    然后我们再去看看axios的,请求拦截器,和响应拦截器. 先说一下这个,拦截器的原理,其实就是 我们发送一个请求,这个请求在发出去之前,我们的请求拦截器,先去拦截一下,拦截的时候可以对请求数据做一些处 ...

  8. axios的响应拦截器

    一.拦截器介绍: 一般在使用axios时,会用到拦截器的功能,一般分为两种:请求拦截器.响应拦截器 请求拦截器: 在请求发送前进行必要操作处理,例如添加统一cookie.请求体加验证.设置请求头等,相 ...

  9. vue3.0 请求拦截对Token处理,导航守卫判断是否登录,响应拦截,觖析token存储到vuex中

    需求:用户点击登录的时候获取token存取下来,然后放入请求拦截,因为用户上拉刷新下拉加载的时候需要用到;不然用户一刷新,服务端都不知道用户是谁了 目录 请求存储token: 请求拦截,及请求错误的响 ...

最新文章

  1. TCP/IP 详解卷一 - TCP CWR、ECE、URG、ACK、PSH、RST、SYN、FIN控制位
  2. STL MAP(key,value)
  3. Server Core十大安装设置命令
  4. 【OS】课设记录总结+进程整理
  5. python字典的值可以是字典吗_python字典的值可以是字典吗
  6. 前端学习(3014):vue+element今日头条管理--表单验证基本使用2
  7. xml转svg_C# Excel 转PDF/图片/HTML/TXT/XML/XPS/CSV/ODS/SVG/EMF
  8. go语言 rune切片
  9. centos java创建文件_CentOS java生成文件并赋予权限的问题
  10. oracle group by
  11. 如何“ grep”连续流?
  12. 如何从视频中删除声音?
  13. 如何引用Icommand并实现接口
  14. OMNet++ Tic Toc例程的解析1
  15. tplink服务器无响应dns,tplink路由器dns异常
  16. 如何自动生成一本epub电子书
  17. CVE-2020-5135:SonicOS缓冲区溢出漏洞通告
  18. 学习篇之华为快应用的开发(一)
  19. php excel下载打不开了,php下载excel无法打开的解决方法_PHP教程
  20. iOS LeetCode ☞ Fizz Buzz

热门文章

  1. opengl入门(四)windows平台的支持,绘制一个正方形
  2. 数据分析与挖掘:财政收入影响因素分析及预测模型
  3. 记录——《电子测量与仪器学报》期刊投稿总结
  4. 我的投资观和投资方法
  5. 开源 android md 播放器,MD360Player4Android
  6. 360浏览器插入VLC播放器播放rtsp视频流
  7. 多重检验中的FDR错误控制方法与p-value的校正及Bonferroni
  8. 2019-2020-1 20175227 《信息安全系统设计基础》第二周学习总结
  9. 3dsmax 里”编辑网格“与”编辑多边形“的区别
  10. Liferay 6.1开发学习(三):Portlet简述