【发布时间】:2016-08-05 12:46:19
【问题描述】:
有没有办法返回从 ajax post 结构中获取的服务器端动态生成的文件?
编写一个小的 web mvc 项目,它生成一个数据列表(数据是从复杂的聚合查询生成的,不能从 id 或其他任何地方调用),然后到我想要导出一些选定的部分部分到文件并下载。
它是如何工作的: 1.在页面上我选择了一些带有关键数据的字段(使用JQuery DataTable) 2.将其发送到控制器(准确地说是Spring) 3. 生成字节流并将其作为带有“Content-disposition”、“attachment”标头的 HTTPResponse 返回。
问题是我使用 JQuery->Ajax 选择行并形成所需的数据,因此 Controller->Post 的结果保留在 javascript 部分内,而不是给我“另存为...”。
我已经在考虑临时目录之类的了,但要保存最后一个选项。
【问题讨论】:
-
很遗憾没有......
-
但是我能不能以某种方式做一个非 ajax 帖子,应该打开一个新标签\窗口并接收正常的服务器回复,这将直接接收文件?
-
显然..您可以发布表单...如果内容是可下载的文件,那么将弹出下载或自动下载开始,而不会丢失您当前的页面。
-
就是这样。现在要弄清楚如何生成隐藏表单,将 JSON 放入其中,然后将其发布到服务器。
标签: java ajax spring file post