ajax 导出文件( Excel, txt 等) 问题分析
2012-08-07 14:45
309 查看
问 题:以ajax的方式导出文件的时候,无法工作
现象描述:导出文件的代码书写没任何问题,在ajax请求页面的Response里面添加了正常的导出设置,但是运行时却没有任何的反应。
问题分析:用ajax请求后,返回来的仅仅是XmlHttpRequest对象的内容,无法命令浏览器打开文件下载对话框(至于浏览器的文件下载对话框的触发原因,可能是当前页面重新加载时,并且http的header里面含有(Content-disposition:attachment)时才会显示出来吧,仅是个人猜测。)
问题解决:知道的问题的原因,我们就可以采取别的措施来搞定这样的需求:
浏览器打开文件下载对话框的两个必要条件:
页面载入时
http response 的 header 中含有(Content-disposition:attachment[b]) [/b]
通过两种方式满足这两个条件:准备两个文件:1个是我们的ajax页面a.html,另外一个是下载页面d.aspx
在a.html的下载事件中,执行js代码:window.open('d.aspx');
在a.html中放置一个隐藏的iframe,在下载事件中,将该iframe的src设置为d.aspx,这样d.aspx就会自动执行
现象描述:导出文件的代码书写没任何问题,在ajax请求页面的Response里面添加了正常的导出设置,但是运行时却没有任何的反应。
问题分析:用ajax请求后,返回来的仅仅是XmlHttpRequest对象的内容,无法命令浏览器打开文件下载对话框(至于浏览器的文件下载对话框的触发原因,可能是当前页面重新加载时,并且http的header里面含有(Content-disposition:attachment)时才会显示出来吧,仅是个人猜测。)
问题解决:知道的问题的原因,我们就可以采取别的措施来搞定这样的需求:
浏览器打开文件下载对话框的两个必要条件:
页面载入时
http response 的 header 中含有(Content-disposition:attachment[b]) [/b]
通过两种方式满足这两个条件:准备两个文件:1个是我们的ajax页面a.html,另外一个是下载页面d.aspx
在a.html的下载事件中,执行js代码:window.open('d.aspx');
在a.html中放置一个隐藏的iframe,在下载事件中,将该iframe的src设置为d.aspx,这样d.aspx就会自动执行
相关文章推荐
- ajax 导出文件( Excel, txt 等) 问题分析
- ajax 导出文件( Excel, txt 等) 问题分析
- Python处理unicode编码的txt文件(Python中文处理)——解决to_excel()和to_csv()导出文件内容为空的问题
- 把Excel中的数据导出成txt文件的注意问题
- 导出excel文件 解决科学计数法问题 datagridview导出字符串变数字问题
- Ajax 中文问题和导出Excel的问题
- IE7.0下应用程序无法导出Excel文件的问题及解决
- 关于实现ASP导出Excel文件开关可能会碰到的组件注册问题!
- unity中解析excel导出的txt文件
- iReport导出Excel文件一个字段要占用多列问题的解决
- Java web中不同浏览器间导出Excel文件名称乱码问题解决方案
- 使用phpExcel类导出excel文件相关问题总结
- ajax导出Excel无法浏览器无法提示问题
- 导出excel文件 解决科学计数法问题
- asp.net中使用excel类导出Excel文件,并导出到web客户端中遇到的问题
- 【学习点滴-php】使用phpExcel类导出excel文件相关问题总结
- Web上导出excel文件和txt文件
- txt excel 导出 文件名称为中文,避免乱码的解决方案
- 数据库中导出CSV文件与EXCEL文件数据对比可能遇到的问题与解决方法
- Ajax请求导出Excel的问题