a标签可下载文件而ajax的get请求不行

原理

  • a标签是直接访问跳转到文件url,浏览器判断是个可下载文件就会自动下载。get是ajax,只能返回string类型的数据,而文件url是一个对应的是一个文件流,ajax接收不到。

拓展

  • 实现下载文件功能,只要是可实现页面跳转,浏览器都会判断该文件是下载还是渲染。因此a标签、form标签、iframe标签都可以。

例子

  • form表单
<form action="http://192.168.0.96:9000/wac/interface/download" method="get">
      <button type="submit">提交</button>
</form>
  • a标签
<a href="http://192.168.0.96:9000/wac/interface/download">test</a>
  • iframe标签【注意控制什么时候渲染出iframe,iframe一旦被渲染,文件即会被下载】
<iframe src="http://192.168.0.96:9000/wac/interface/download">test</iframe>

相关推荐