所以以上代码,如果点击 a 标签,首先会执行 onclick 事件的回调,即发送 ajax 请求,理论上,因为代码中的 ajax 是异步的,所以会一边请求一边打开下载文件。chrome、UC、opera、2345浏览器中表现均和预期一致,firefox 下点击能跳出下载文件,但是 ajax 部分报错,IE 下未测试。该错误想法很快被推翻,一是因为先进行 ajax 请求,所以请求瞬间并未跨域;二是并未报跨域错误;三是如下代码更进一步证明了该错误。打开该页面,随即进行 ajax 请求,一旦点击了下载按钮,请求即被中止。如果 a 标签指向的是文件地址,在 ff 下是不是也会被一样地解析呢?既然 a 标签的默认行为会使得 ajax 请求中断,那么将 "默认行为" 放在请求之前呢?
暂无评论