简易封装的axios

import axios from "axios";
import qs from "qs";
const server = axios.create({
//baseURL:'',
timeout:5000,
withCredentials:true
})

//请求的拦截器
server.interceptors.request.use(config=>{
if(config.method == "get"){
//将数据传递给params
config.params = {...config.data};
}else if(config.method == "post"){
// 对config序列化做个兼容
// config.headers["content-type"] = "application/x-www-form-urlencoded" //数据序列化 将post提交的值按照这种类似的结果传输key=val&key=val
//config.data = qs.stringify(config.data);
}

//将处理好的处理给了服务器
return config;
},(err)=>{
Promise.reject(err);
})


//响应的拦截
server.interceptors.response.use(res=>{
if(res.statusText =="OK"){//当res.statusText =="OK"时拦截data,只返回data
return res.data;
}
},(err)=>{
Promise.reject(err);
})

export default (method,url,data)=>{
if(method.toUpperCase() == "GET"){
return server.get(url,{
params:data
})
}else if(method.toUpperCase() == "POST"){
return server.post(url,data)
}
}

原文地址:https://www.cnblogs.com/superclound/p/11261525.html