JavaScript中使用ajax发送POST数据请求并用blob下载文件时在IE浏览器InvalidStateError错怎么解决?
4.08K 次浏览
在使用JavaScript进行前端开发过程中,有时候需要使用Ajax向后端发送POST请求并下载后端返回的文件,常用的做法是使用Blob
,然后再创建一个a
标签并触发点击事件来完成文件下载功能,示例代码如下:
var blob = new Blob([csvContent.join('')], { type: 'text/csv;charset=utf-8'});
var link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');
link.href = URL.createObjectURL(blob);
link.download = 'teams.csv';
link.click();
以上方法在现代浏览器(Chrome,Firefox等)中都正常工作,但在IE中浏览器中却无法正常使用并出现InvalidStateError
的错误,应该如何解决呢?