小白学前端:基于axios封装通用请求方法

119 阅读1分钟

import axios from 'axios' // 引入axios
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'// 配置特定方法的请求头
axios.defaults.baseURL = '接口ip'
axios.defaults.withCredentials = true //允许跨域携带cookie

export default function request(url, method = 'GET', data = {}) {
    return new Promise((resolve, reject) => {
        let options = {
            url,
            method,
            validateStatus(status) {
                return (status >= 200 && status < 300) || status === 400
            }
        }
        if (method.toLowerCase() === 'get') {
            options.params = data
        } else {
            options.data = data
        }
        console.log(options);
        axios(options).then((res) => {
            if (res.status === 200) {
                resolve(res.data)
            } else {
                reject(res.data)
            }
        }).catch((err) => {
            reject({ msg: '网络异常' })
        })
    })
}