• axios 配置


    import axios from 'axios';
    axios.defaults.timeout = 5000;
    axios.defaults.baseURL = 'http://192.168.18.142:8000';
    axios.defaults.withCredentials = true;
    
    //http request 拦截器
    axios.interceptors.request.use(
        config => {
            // 发送数据之前的操作 配置请求头 添加csrf信息
            config.headers['X-Requested-With'] = 'XMLHttpRequest';
            let regex = /.*csrftoken=([^;.]*).*$/; // 用于从cookie中匹配 csrftoken值
            config.headers['X-CSRFToken'] = document.cookie.match(regex) === null ? null : document.cookie.match(regex)[1];
            return config
        },
        error => {
            return Promise.reject(err);
        }
    );
    
    
    //http response 拦截器
    axios.interceptors.response.use(
        response => {
            // 返回数据之前的操作
    
            return response;
        },
        error => {
            return Promise.reject(error)
        }
    )
    
    
    /**
    * 封装get方法
    * @param url
    * @param data
    * @returns {Promise}
    */
    
    export function fetch(url, params = {}) {
        return new Promise((resolve, reject) => {
            axios.get(url, {
                params: params
            })
                .then(response => {
                    resolve(response.data);
                })
                .catch(err => {
                    reject(err)
                })
        })
    }
    
    
    /**
    * 封装post请求
    * @param url
    * @param data
    * @returns {Promise}
    */
    
    export function post(url, data = {}) {
        return new Promise((resolve, reject) => {
            axios.post(url, data)
                .then(response => {
                    resolve(response.data);
                }, err => {
                    reject(err)
                })
        })
    }
    
    /**
    * 封装patch请求
    * @param url
    * @param data
    * @returns {Promise}
    */
    
    export function patch(url, data = {}) {
        return new Promise((resolve, reject) => {
            axios.patch(url, data)
                .then(response => {
                    resolve(response.data);
                }, err => {
                    reject(err)
                })
        })
    }
    
    /**
    * 封装put请求
    * @param url
    * @param data
    * @returns {Promise}
    */
    
    export function put(url, data = {}) {
        return new Promise((resolve, reject) => {
            axios.put(url, data)
                .then(response => {
                    resolve(response.data);
                }, err => {
                    reject(err)
                })
        })
    }
    
  • 相关阅读:
    QT 双缓冲
    ubuntu 安装SVN客户端
    高并发linux内核网络参数调优
    c aes 解密
    qt 字符类型转换
    c++ ado 操作类
    Qt中将QString转换为char *或者相反
    c++ aes 加密 解密
    [转载]python编码转换遇到的非法字符的解决方法
    [转载] python异常如何全面捕获
  • 原文地址:https://www.cnblogs.com/asia9847/p/11468211.html
Copyright © 2020-2023  润新知