点击下载网上给出的方法大多是window.open(url);url是请求后台的接口,如果后台接口报错,如何获取请求接口后返回的信息,跳到自己写的404页面。
不用window.open,用a标签模拟点击下载,你点击的时候,发送一个ajax,后端返回一个url,报错的话后端应该不会返回一个链接,你判断一下返回的url,是的话用下面的js,不是的话跳转404页面。
<a style="display: none;" class="download"></a>
var download = document.getElementsByClassName('download')[0];
download.setAttribute('href',ajaxData.data);//ajaxData.data url
download.setAttribute('download',"2"); //设置文件名称,可以在这里设置下载的文件名
download.click()