素材牛VIP会员
前端 js 下载
 38***38  分类:Html5  人气:1229  回帖:3  发布于6年前 收藏

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

 标签:html5javascript

讨论这个帖子(3)垃圾回帖将一律封号处理……

Lv3 码奴
ch***26 技术总监 6年前#1

不用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()
Lv5 码农
Bu***nc 移动开发工程师 6年前#2

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

Lv5 码农
qi***pu 交互设计师 6年前#3

这个可以让服务器端来做,如果捕获到了异常,重定向到404页面

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取