上一篇NetCore Jquery使用AJAX POST方式下载Excel文件_csdn_aspnet的博客-CSDN博客文章中jquery xhr使用如图:
经过一番资料查找,发现一个比较简洁的ajax代码:
$('#GetFile1').on('click', function () {
var obj = {};
obj["dwbh"] = "xxx";
$.ajax({
url: 'http://localhost:5000/api/BzdzJlxxqXx/ExportExcel',
method: 'POST',
contentType: 'application/json',
data: JSON.stringify(obj),
xhrFields: {
responseType: 'blob'
},
success: function (data) {
var a = document.createElement('a');
var url = window.URL.createObjectURL(data);
a.href = url;
a.download = 'myfile.xls';
document.body.append(a);
a.click();
a.remove();
window.URL.revokeObjectURL(url);
}
});
});
经过测试,下载excel文件可正常打开。
注意:jquery版本3.0以上,否则可能导致下载打不开或者没有xhrFields属性。