完成发送数据后,Rails将发送数据和Javascript处理程序
当我的Rails应用程序使用完成发送数据后,Rails将发送数据和Javascript处理程序,javascript,jquery,ruby-on-rails,Javascript,Jquery,Ruby On Rails,当我的Rails应用程序使用send\u data方法发送完文件后,我不知道如何“捕获”事件(如果它存在): # view = link_to 'Download!', download_path # controller def download # some logic send_data csv_data, filename: 'export.csv' end 我想捕获服务器向客户端发送CSV文件时发生的事件,以便隐藏加载.gif图像,该图像在单击下载链接时显示(这里没有与AJ
send\u data
方法发送完文件后,我不知道如何“捕获”事件(如果它存在):
# view
= link_to 'Download!', download_path
# controller
def download
# some logic
send_data csv_data, filename: 'export.csv'
end
我想捕获服务器向客户端发送CSV文件时发生的事件,以便隐藏加载.gif图像,该图像在单击下载链接时显示(这里没有与AJAX相关的内容,请澄清)
任何帮助都将不胜感激,谢谢
(Ruby 1.9.3,Rails 3.2.13)
类似问题(使用cookie):
更新: 我试图收听我链接的事件,但没有显示任何事件:
monitorEvents(document.body.querySelectorAll('a#export_link'));
我认为如果使用jQuery和AJAX发送数据会更容易
$('button').on('click', function(){
$.post(url, {data}, success: function() { alert("DONE!");
});
});
我知道这很好,但是我不能发送一个文件来响应JS请求(javascript安全规则)()使用回调怎么样
保存后:只执行此操作:[:下载]
这是一个良好的开始,但我根本不修改数据。我只是导出一个巨大的定价项目列表,当我们点击下载链接时生成(您的示例是将模型回调(如保存后)与控制器回调(如筛选前)混合在一起)我尝试了您建议的版本:筛选前:发送csv文件,仅::导出
但我可以在我的服务器日志中看到“过滤器链暂停为:导出呈现或重定向”在\u过滤器
之前无法工作,因为该代码将在下载代码运行之前运行。可能在提交后尝试。