var url = '******';//请求后端的矮口地址
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true); // 也可以使用POST方式, 根据接口
// xhr.setRequestHeader("token", sessionStorage.getItem("id"));//需要在请求头里给后端传的用户信息
xhr.responseType = "blob"; // 返回类型blob
//定义请求完成的处理函教,请求前也可以增加加裁框/禁用下裁按钮逻辑
xhr.onload = function () {
//请求完成
if (this.status === 200){
//返回200
var blob = this.response;
var reader = new FileReader() ;
reader.readAsDataURL(blob); // 转焕为ase64,可以直接放入a表href
reader.onload = function (e) {
layer.close(loadindex);
//转换完成,创建一个日标签用于下载
var a = document.createElement('a');
a.download = '我是文件名.zip';
a.href = e.target.result;
$("body").append(a); // 修复firefox 中无法触发click
a.click();
$(a).remove();
}
}
}
//发送ajax 请求
xhr.send()
参考自:https://blog.csdn.net/m0_65376942/article/details/124321161