HTML5 <a>在JavaScript下载属性不处理服务器错误
我试图以编程方式单击具有下载属性和href下载文件从服务器的<a>
元素。 但是,如果下载出错,服务器将返回一个错误状态代码的HTML页面。 由于HTML5下载属性,它会尝试强制下载此html页面或下载服务器错误文件。 有没有办法,我可以打开一个新的标签,而不是下载的HTML错误文件? 我已经将target属性设置为_blank。
您可以使用XMLHttpRequest
或fetch
请求文件,如果没有错误发生,设置<a>
元素href
, download
属性,否则redirect用户到文档显示错误响应。
你可以创build新的元素,例如button,并使用jQuery Ajax请求clickevent来检查服务器是否可用。
$.ajax({ url: "/url/to/file", type: "GET", success: //handle succes -> download file, error: //handle error });