【问题标题】:HTML5 <a> Download Attribute in Javascript not Handling Server ErrorHTML5 <a> Javascript 中的下载属性不处理服务器错误
【发布时间】:2017-01-09 22:26:12
【问题描述】:
我正在尝试以编程方式单击具有下载属性和 href 的 <a> 元素以从服务器下载文件。但是,如果下载出错,服务器将返回一个带有错误状态代码的 html 页面。由于 HTML5 下载属性,它会尝试强制下载此 html 页面或下载服务器错误文件。有没有办法让我在新选项卡中打开 html 错误文件而不是下载?我已经将目标属性设置为 _blank。
【问题讨论】:
标签:
javascript
jquery
node.js
html
【解决方案1】:
您可以使用XMLHttpRequest或fetch请求文件,如果没有发生错误,则设置<a>元素href,download属性,否则将用户重定向到显示错误响应的文档。
【解决方案2】:
您可以创建新元素,例如按钮并使用带有 jquery ajax 请求的 clickevent 来检查服务器是否可用。
$.ajax({
url: "/url/to/file",
type: "GET",
success: //handle succes -> download file,
error: //handle error
});