为什么需要进行二次封装axios?
axios中文文档
https://www.javasoho.com/axios/index.html
请求拦截器、响应拦截器:
请求拦截器,可以在发请求之前可以处理一些业务
响应拦截器,当服务器数据返回以后,可以处理一些事情
- 一般写于这个文件夹
步骤
1.引入import axios from "axios";
(对axios进行二次封装)
2. 利用axios对象的方法create,去创建一个axios实例(request就是axios只不过稍微配置一下)
const requests = axios.create({
//baseURL: "http://localhost:8080",
//配置对象
//基础路径,发请求的时候,路径当中会出现api
baseURL: "/api",
timeout: 1000,
});
//对外暴露
export default axios;
//请求超时的时间5s(超过这个时间还没有响应就不请求了)
timeout: 5000,
3.请求拦截器
requests.interceptors.request.use((config) => {
//config:配置对象,对象里面有一个很重要的属性,headers请求头
return config
}
4.响应拦截器
requests.interceptors.response.use(
(res) => {
//成功的回调函数
return res.data;
},
(err) => {
//响应失败的回调函数
return Promise.reject(new Erroe('faile');
}
// (err) => {
// alert("服务器响应数据失败");
// }
);