B类项目实训-网络请求

在项目中使用axios库来发送ajax异步请求

封装方法

根据后端约定的返回类型简单封装请求处理方法

{
    code:
    msg:
    data:{}
}
function ajax(url, data = {}, method = 'GET', handleSuccess = () => {}, handleMsg = (data) => { message.error(data.msg) }, handleError = () => {}) {
    let promise;
    if (method === 'GET') {
        promise = axiso.get(url, { params: data });
    }
    if (method === 'POST') {
        promise = axiso.post(url, data);
    }
    if (method === 'DELETE') {
        promise = axiso.delete(url, { params: data });
    }
    if (method === 'PUT') {
        promise = axiso.put(url, data);
    }
    promise.then(res => {
        if (res.data.code === 200)
            handleSuccess(res.data);
        else
            handleMsg(res.data)
    }).catch(e => handleError(e))
}

文件下载

ajax无法触发浏览器打开保存文件对话框,不能将文件下载到硬盘,于是选用传统方式下载文件。

    let link = document.createElement('a');
    link.setAttribute("download", "");
    link.href = url;
    link.click();

后期调整

由于沟通问题,后端接收post与put请求不能解析json格式,所以手动修改为form格式

    if (method === 'POST') {
        promise = axiso({
                method: method,
                url: url,
                headers: {
                    'Content-type': 'application/x-www-form-urlencoded'
                },
                data: Qs.stringify(data),
            })
            //promise = axiso.post(url, data);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值