ajax方式下载文件

匿名 (未验证) 提交于 2019-12-03 00:41:02
<button type="button"  onclick="download()">导出</button>  function download() {     var url = ‘download/?filename=aaa.txt‘;     var xhr = new XMLHttpRequest();     xhr.open(‘GET‘, url, true);        // 也可以使用POST方式,根据接口     xhr.responseType = "blob";    // 返回类型blob     // 定义请求完成的处理函数,请求前也可以增加加载框/禁用下载按钮逻辑     xhr.onload = function () {         // 请求完成         if (this.status === 200) {             // 返回200             var blob = this.response;             var reader = new FileReader();             reader.readAsDataURL(blob);    // 转换为base64,可以直接放入a表情href             reader.onload = function (e) {                 // 转换完成,创建一个a标签用于下载                 var a = document.createElement(‘a‘);                 a.download = ‘data.xlsx‘;                 a.href = e.target.result;                 $("body").append(a);    // 修复firefox中无法触发click                 a.click();                 $(a).remove();             }         }     };     // 发送ajax请求     xhr.send()  }

原文:https://www.cnblogs.com/zyl-Tara/p/9329127.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!