【发布时间】:2019-01-27 20:02:07
【问题描述】:
我正在使用 gem gem 'axlsx_rails',我想将数据导出到 excel 文件,但我需要通过 AJAX 将数据发送到控制器,例如在 js 中单击的复选框或选中的项目.问题是使用 ajax 数据被发送到控制器但 xlsx 文件没有下载但使用 rails Link-to 功能效果很好。
这是我在控制器中的功能。它将一个变量发送到 xlsx 文件,该文件仅呈现 user 的 name 属性。没什么大不了的。
def export_xlsx_report_table
enterprise = current_user.enterprise
p "Params!!"
p params
@user = User.where(id: params[:user_id])
end
这是我的 ajax 函数。我更改了删除最后一个 .xlsx 的网址,但仍然无法正常工作
$.ajax({
type: "get",
url: "/export_xlsx_report_table.xlsx",
dataType: "json",
data: { user_id: 1 },
beforeSend: function(xhr) {xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))},
}).done(function(data){
});
这是 html 文件。当我单击 link_to 功能时效果很好,但单击 js 功能会转到控制器但没有任何反应。
<%= link_to "Exportar reporte", export_xlsx_report_table_path(:user_id => 1, format: "xlsx"), class: 'btn btn-default btn-sm' %>
<a onclick="report_sales.export_report()" class="btn blue"> EXPORTAR REPORTE</a>
感谢您能给我的任何帮助。
【问题讨论】:
-
在你的帖子中写代码而不是附加图片。
标签: ruby-on-rails ruby ajax rubygems axlsx