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
}
複製代碼
相關文章
相關標籤/搜索