axios封装

1、axios配置优先级

axios请求config参数 > const instance = axios.create()的defaults属性 > axios.defaults的默认值javascript

2、跨域请求时

须要设置 withCredentials = true,表示跨域请求时使用凭证java

3、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
}
复制代码
相关文章
相关标签/搜索