前端--携带token下载表格JS

9 篇文章 0 订阅
4 篇文章 0 订阅

项目起始的时候,有导出表格的需求,不需要token直接可以使用A标签直连下载
但是在我们项目逐渐完善后,在导出导入等一系列敏感操作的情景下,会要求携带token进行下载导入,这时,A标签href直连就不好使了,就需要写一个公用的方法,本文使用的是原生ajax请求数据

  • getUserToken()为自己写的方法,return的是存储的token
  • url为下载的连接,post方法需要在连接后面使用formData格式append每个参数
  • 可以封装一个方法,
  • 可配置项:
  • 下载链接,文件名称
var xhr = new XMLHttpRequest();
        xhr.open('post', URL, true);
        xhr.responseType = 'blob';
        xhr.setRequestHeader('token', getUserToken());
        xhr.setRequestHeader('Content-Type', 'application/json;charset=utf-8');
        xhr.onload = function () {
            if (this.status == 200) {
                var blob = this.response;
                var a = document.createElement('a');
                var url = window.URL.createObjectURL(blob);
                a.href = url;
                //设置文件名称
                a.download = '(自定义文件名称).xls';
                a.click();
            }
        }
        xhr.send(JSON.stringify({
           "type" : 1,
           "startDate" : "2018-01-01",
           "endDate" : "2018-12-31"
        }));
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值