使用ajax下载文件

时间:2015-03-28 16:16:21

标签: javascript ruby-on-rails ajax file download

我有一个使用ajax的javascript文件,并将一组id传递给rails控制器操作。然后,控制器将这些映射到模型对象,并生成包含其一些数据的文件。我的问题在于下载此文件。

之前,我首先在数据库中保存所需的对象,然后控制器可以格式化为.ics,调用相同的操作,然后下载文件。

现在一切都变得更加动态,我现在无法渲染文件,因为我必须传递参数。有没有办法做到这一点?我试过了

render :layout => false, :text => @calendar.to_ical

send_data @calendar.to_ical, :type=> 'text/ics'

render :text => @calendar.to_ical

所有这些都成功完成,但没有下载任何文件。

任何帮助将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:1)

简短的回答是,您无法使用AJAX下载文件(出于安全考虑)。查看this question了解其他选项,例如设置window.location=或使用jQuery File Download插件。