基於axios的ajax請求封裝
阿新 • • 發佈:2019-02-15
import axios from 'axios' // 預設請求配置 let defaultConfig = { method: 'GET', baseURL: process.env.BASE_API + process.env.API_BASE_URL, timeout: 3000, withCredentials: true, // 配置請求頭 // headers: { // 'Content-Type': 'application/x-www-form-urlencoded' // }, responseType: 'json', // 預設的響應格式 // 只處理函式返回範圍中的錯誤程式碼 validateStatus: status => { return status >= 100 && status <= 600 } } let instance = axios.create(defaultConfig) // 新增一個請求攔截器 instance.interceptors.request.use(config => { // 根據引數更改配置 if (!config.url) { return } if (config.fileFlag) { config.headers['Content-Type'] = 'multipart/form-data' } return config }) // 新增一個響應攔截器 instance.interceptors.response.use(response => { return response.data }, error => { if (!error.status) { console.log('time out') return } console.log('error:', error) }) export default instance