ajax 导出文件( Excel, txt 等) 问题分析

前端之家收集整理的这篇文章主要介绍了ajax 导出文件( Excel, txt 等) 问题分析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

转载来自:http://www.cnblogs.com/zuking/archive/2012/08/07/2626679.html

问  题:以ajax的方式导出文件的时候,无法工作

现象描述:导出文件代码书写没任何问题,在ajax请求页面的Response里面添加了正常的导出设置,但是运行时却没有任何的反应。

问题分析:用ajax请求后,返回来的仅仅是XmlHttpRequest对象的内容,无法命令浏览器打开文件下载对话框(至于浏览器的文件下载对话框的触发原因,可能是当前页面重新加载时,并且http的header里面含有(Content-disposition:attachment)时才会显示出来吧,仅是个人猜测。)

问题解决:知道的问题的原因,我们就可以采取别的措施来搞定这样的需求:

浏览器打开文件下载对话框的两个必要条件:

  • 页面载入时
  • http response 的 header 中含有(Content-disposition:attachment)

通过两种方式满足这两个条件:准备两个文件:1个是我们的ajax页面a.html,另外一个是下载页面d.aspx

  1. 在a.html的下载事件中,执行js代码:window.open('d.aspx');
  2. 在a.html中放置一个隐藏的iframe,在下载事件中,将该iframe的src设置为d.aspx,这样d.aspx就会自动执行
原文链接:https://www.f2er.com/ajax/165160.html

猜你在找的Ajax相关文章