我有一个表单,用户可以在其中从复选框集合中选择值来过滤数据。表单发布到 Controller ,其中定义了 xlsx 格式以下载 xlsx 文件。我正在使用 axslx_rails。
现在,我希望在远程调用之前和之后发生一些事情。 而且工作正常。
我不明白的是如何实际下载 xlsx 文件,因为响应 block 变为 JS 格式,而不是 xlsx,这是这样的:
format.xlsx { response.headers['Content-Disposition'] = 'attachment; filename="test.xlsx"'}
所以,它要么以一种方式工作,要么以另一种方式工作。非远程表单下载文件,因为我有一个格式:xlsx 定义。如果我执行远程表单,JavaScript 可以工作(显示微调器、隐藏微调器等),但不会下载文件。
如何才能同时实现这两个目标?
谢谢
最佳答案
好吧,我已经放弃并采用了解决方案:
- 将文件保存到磁盘(到某个可公开访问的位置)
- 通过jQuery fileDownload plugin下载文件
- 删除文件
似乎是目前满足我需要的最佳解决方案。 如果有人有更优雅的解决方案,不需要额外的 JS 库......
关于javascript - 远程表格 - XLSX 下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30618647/