在使用axios进行HTTP请求时,请求拦截器(Request Interceptors)和响应拦截器(Response Interceptors)是非常有用的功能,它们允许你在请求被发送到服务器之前或在服务器响应被then或catch处理之前对它们进行拦截。
一、安装axios
npm install axios
二、导入axios
//axios基础封装
import axios from "axios";
import { ElMessage } from "element-plus";
三、创建一个可以发起请求获得响应的实例
const httpInstance = axios.create({timeout:50000
})
四、配置请求拦截器
//配置拦截器
//axios请求拦截器
httpInstance.interceptors.request.use(config =>{return config
},e => Promise.reject(e))
五、配置响应拦截器
//axios响应拦截器
httpInstance.interceptors.response.use(res =>res.data,e =>{if(e.response.status==401){// console.log("请登录")ElMessage.error("请先登录")//跳转登录页面}else{// console.log("其他状态")ElMessage({type:'error',message:'请重新登录'+e})}return Promise.reject(e)
})export default httpInstance //对外暴露,用于在其他位置调用