一、axios配置优先级
axios请求config参数 > const instance = axios.create()的defaults属性 > axios.defaults的默认值
二、跨域请求时
需要设置 withCredentials = true,表示跨域请求时使用凭证
三、axios简单封装
import axios from 'axios';
import qs from 'qs';
// 设置全局axios的默认值
axios.defaults.timeout = 5000;
axios.defaults.baseURL = 'http://localhost:7001';
// 拦截器
axios.interceptors.request.use(
config => {
config.data = qs.stringify(config.data);
config.headers = {
'Content-Type': 'application/x-www-form-urlencode'
};
return config;
},
error => {
return Promise.reject(error);
}
);
axios.interceptors.response.use(
response => {
return response;
},
error => {
return Promise.reject(error);
}
);
// get请求
const get = (url, params = {}) => {
return new Promise((resolve, reject) => {
axios.get(url,{params}).then(res =>{
resolve(res.data);
}).catch(err => {
reject(err);
});
});
}
// post请求
const post = (url, params = {}) => {
return new Promise((resolve, reject) => {
axios.post(url,params).then(res =>{
resolve(res.data);
}).catch(err => {
reject(err);
});
});
}
export {
get, post
}
网友评论