使用ajax下载文件

Using ajax to download a file

本文关键字:文件 下载 ajax 使用      更新时间:2023-09-26

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

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

现在一切都更加动态了,我在渲染文件时遇到了问题,因为我必须传入params。有办法做到这一点吗?我试过

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

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

render :text => @calendar.to_ical

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

任何帮助都将不胜感激!非常感谢。

简单的答案是不能使用AJAX下载文件(出于安全原因)。查看此问题以了解其他选项,如设置window.location=或使用jQuery文件下载插件。