在我看来,我有一个用于下载 Excel 文件的 link_to:
<%= link_to 'Download Excel', url_for( :controller => "my_controller", :action => "file", :format => 'xlsx', :params => params ) %>
Controller 使用 axlsx 来渲染文件,如下所示:
format.xlsx {
render xlsx: 'file', filename: 'filename', disposition: 'inline'
}
现在生成并返回该文件可能需要一些时间,因此我想向用户表明该网站正在运行。
我在 View 代码中有一个隐藏的div:
<div id="loader"><img src="/assets/loading.gif" ></div>
当有人点击链接时,我可以使用这个 jQuery 显示 div:
$('#excel_export').click(function() {
$("#loader").show();
});
我的问题是:当文件下载开始时,如何 .hide()
该 div ?也许是某种 ajax 回调?
最佳答案
不知道对你有没有帮助。我发现这段代码有助于在执行 ajax 请求时显示微调器。
$(document)
.ajaxStart(function() {
$("#loader").show();
})
.ajaxStop(function() {
$('#loader').hide();
});
您可以从以下link获取更多样本.
关于javascript - rails 3 : How to get javascript to run after link_to,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20063240/