您能使用AJAX从Web应用程序下载生成的CSV文件吗?如果可以,是否有任何参考资料可以指导我?
编辑:抱歉,我应该提到我正在使用Prototype的Ajax.Request,并且我在Firebug的响应工具中查看了生成的CSV是响应,我只需要在Ajax.Request生成后弹出保存文件选项。
您能使用AJAX从Web应用程序下载生成的CSV文件吗?如果可以,是否有任何参考资料可以指导我?
编辑:抱歉,我应该提到我正在使用Prototype的Ajax.Request,并且我在Firebug的响应工具中查看了生成的CSV是响应,我只需要在Ajax.Request生成后弹出保存文件选项。
window.location='download-csv.rb';
除了使用Ajax请求之外,另一种方法是更改隐藏Iframe的位置,但这也有其优缺点。
无论您发送什么HTTP标头,您都永远无法使Ajax请求显示“文件保存”对话框。
Content-disposition: attachment; filename=<your_filename.csv>;
你的实现取决于你使用的后端系统。如果你正在使用Rails(正如你的用户名所示),这是一个开始:
filename = 'your_filename.csv'
headers['Content-Type'] = 'text/plain'
headers['Content-Disposition'] = "attachment; filename=\"#{filename}\""
render :layout => false
下载不是问题;您可以通过XmlHttpRequest下载任何数据。困难的部分是解析它。有几种解析方法,从正则表达式到字符串索引。