axios二次封装
项目中对axios的二次封装:
1、基础路径、超时配置
2、统一设置请求头信息
3、统一处理错误信息
import axios from 'axios'
import qs from 'qs'
const ajax = axios.create({
//基础路径,发请求的时候,路径当中会出现api,不用你手写
baseURL: 'http://localhost:xxxx',
//请求时间超过5秒
timeout: 50000
})
ajax.interceptors.request.use(config => {
// 开启进度条
// 设置post请求的参数格式
if (config.method === "post") {
config.data = qs.stringify(config.data);
}
// 设置token
let token = localStorage.getItem("token");
if (token) {
config.headers.Authorization = token;
} else {
return config;
}
//config是个配置对象,对象里面有一个属性很重要,headers请求头
return config
}, error => {
return Promise.reject(error)
})
ajax.interceptors.response.use(res => {
//成功的回调函数:服务器响应数据回来以后,响应拦截器可以检测到,可以做一些事情。
retu