極簡axios配置項(二次封裝)

/* 在使用AXIOS以前,咱們通常都須要配置默認的配置項 */
        import axios from 'axios';
		// 1.基礎URL,後期再發送請求的時候,URL請求地址最前面的公共部分就不須要再寫了
		axios.defaults.baseURL = "http://127.0.0.1:5500";
		// 2.跨域請求中容許攜帶資源憑證(例如COOKIE信息)
		axios.defaults.withCredentials = true;
		// 3.設置請求頭:POST系列中,咱們傳遞給服務器數據的格式通常以x-www-form-urlencoded格式爲主
		axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded';
		// 4.設置請求攔截器(只對POST系列有用):把基於請求主體傳遞給服務器的內容進行攔截,把內容格式變爲x-www-form-urlencoded這種格式,再傳遞給服務器
		axios.defaults.transformRequest = function (data) {
			if (!data) return data;
			let str = ``;
			for (let key in data) {
				if (!data.hasOwnProperty(key)) break;
				str += `&${key}=${data[key]}`;
			}
			return str.substring(1);
		};
		// 5.設置響應攔截器:[成功狀態]把從服務器獲取的結果中的響應主體信息獲取到便可,[失敗狀態]手動把錯誤信息拋出異常
		axios.interceptors.response.use(function (response) {
			return response.data;
		}, function (error) {
			throw new Error(error);
		});
		// 6.配置什麼纔算成功(把PROMISE狀態改成FULFILLED)
		axios.defaults.validateStatus = function (status) {
			return /^(2|3)\d{2}$/.test(status);
		}
		export default axios;
	```複製代碼
相關文章
相關標籤/搜索