在导出 CSV 上显示加载器并在下载完成后隐藏

Show loader on Export CSV and hide once download completes

提问人:Mohammad Yusuf 提问时间:4/19/2023 最后编辑:Chakreshwar SharmaMohammad Yusuf 更新时间:4/19/2023 访问量:83

问:

我想在链接上生成和下载 csv 文件,并希望在下载开始之前显示加载器,并在我的 rails 应用程序中完成后隐藏加载器。 我试过了:-

索引.html

<%= link_to 'Export to CSV', shifts_export_csv_admin_shifts_path(format: :csv), id: 'export_ink', class: 'download_csv_link', remote: true %>

shifts_controller.rb

def shifts_export_csv
   respond_to do |format|
     format.csv { send_data @shifts.to_csv, filename: "shifts-#{Date.today}.csv" }
   end
end

admin.js

$(document).on('ajax:beforeSend', 'a[data-remote=true]', function(event, xhr, status, error) {
  $('.ajax-loader-container').show();
});
$(document).on('ajax:success', 'a[data-remote=true]', function(){
  $('.ajax-loader-container').hide();
});

问题是当我使用 in 时,loader 工作正常但文件未下载,而当我使用文件时正在下载,但加载器在下载完成后显示但未隐藏。remote: truelink_toremote: true

提前致谢

Ruby-on-Rails AJAX CSV 下载 加载程序

评论


答: 暂无答案