axios 封装 get、post请求方法备份

首先引入axios
使用axios封装get、post 方法,包括封装post请求发送header方法
在具体使用时根据需要作适当调整即可


import axios from 'axios';

const REQUEST_QUIET_HEADER_NAME = 'Request';

axios.interceptors.response.use(
    function (res) {
        if (!res.data.success) {
            const isQuiet = res.config.headers[REQUEST_QUIET_HEADER_NAME];
            handleErrorResponse(res.data.msg, isQuiet);
            if (isQuiet) {
                return res;
            }
            return;
        }
        return res.data;
    },
    function (err) {
        handleErrorResponse(err.response.data.message, err.config.headers[REQUEST_QUIET_HEADER_NAME]);
        return Promise.reject(err);
    }
);

export function handleErrorResponse(msg, isQuiet) {
    if (!isQuiet) {
        alert(msg);
    }
    throw msg;
}

export function sendGetRequest(url, query, isQuiet = false) {
    let options;
    if (isQuiet) {
        options = {
            headers: {
                [REQUEST_QUIET_HEADER_NAME]: isQuiet
            }
        };
    }
    return axios
        .get(
            `${url}?${Object.keys(query).map(k => (k + '=' + query[k])).join('&')}`,
            options
        )
        .then(response => response.data);
}

export function sendPostRequest(url, data, isQuiet = false) {
    let options;
    if (isQuiet) {
        options = {
            headers: {
                [REQUEST_QUIET_HEADER_NAME]: isQuiet
            }
        };
    }
    return axios.post(url, data, options).
        then(response => response.data);
}

使用

import {sendPostRequest} from './common_actions';
export function getList(paramData, headers) {
    return sendPostRequest(
        '/api/hello',
        paramData,
        headers
    );
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值