var url = '';
var xhr = new XMLHttpRequest();
xhr.open('POST',url,true);//也可以用GET,视接口而定
xhr.responseType = 'blob';//返回类型为blob
xhr.onload = function(){//请求完成
if(this.status == 200){//请求成功
var blob = this.response;
var reader = new FileReader();
reader.readAsDataURL(blob);//转换成base64,放入href下载
reader.onload = function(e){
var a = document.createElement('a');//创建一个a标签
a.download = 'data.xlsx';
a.href = e.target.result;
$('body').append(a);
a.click();
$(a).remove();//移除a标签
}
}
}
xhr.send();
其中a.download='data.xlsx'中的data.xlsx为下载的文件名,
此方法虽然好用,但有兼容性问题