点击下载网上给出的方法大多是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()
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
这个可以让服务器端来做,如果捕获到了异常,重定向到404页面