前端 js 下载

点击下载网上给出的方法大多是window.open(url);url是请求后台的接口,如果后台接口报错,如何获取请求接口后返回的信息,跳到自己写的404页面。

阅读 3.2k
3 个回答

这个可以让服务器端来做,如果捕获到了异常,重定向到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()

可以使用iframe,跟你打开新tab功能上一样,但是页面不会动。可以达到静默下载的目的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题