Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
完成发送数据后,Rails将发送数据和Javascript处理程序_Javascript_Jquery_Ruby On Rails - Fatal编程技术网

完成发送数据后,Rails将发送数据和Javascript处理程序

完成发送数据后,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

当我的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图像,该图像在单击下载链接时显示(这里没有与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过滤器
之前无法工作,因为该代码将在下载代码运行之前运行。可能在提交后尝试