0

我有一个 JAX-RS 网络服务,它创建一个作为字节数组的 excel 文件并将其返回到我的 javascript 应用程序,该服务可以工作,因为我可以使用 firebug 检查响应,它包含我设置的标头和包含 excel 文件的字节。

但是我认为通过设置 content-disposition 标头会有一个保存对话框,似乎没有。
下面我粘贴了我在回复中收到的标题,有什么我忘记了吗?

Content-Disposition attachment; filename=file.xls
Content-Length  17920
Content-Type    application/vnd.ms-excel
Date    Thu, 10 Jan 2013 07:07:49 GMT
Server  Apache-Coyote/1.1
X-Powered-By    Servlet 2.5; JBoss-5.0/JBossWeb-2.1

ajax 调用当前没有成功函数,我是否需要编写某种函数来显示保存对话框,或者设置额​​外的标题是否足够,如果需要,是哪些?

谢谢
J。

4

2 回答 2

0

这就是我修复它的方法:

我保留了 ajax 调用,因为我正在以指定的 json 格式向服务器端发送大量参数和数据数组,但是我返回了一个 base64 编码的字符串,我将它添加到一个隐藏的表单中,该表单指向服务器端的一个链接它将标头设置为带有解码字符串的响应,这不是最优雅的解决方案,但它可以解决问题

于 2013-01-14T07:33:29.097 回答
0

正如上面 Musa 所建议的那样,摆脱 AJAX 并将您的用户转发到返回 Excel 数据的 URL,该 URL 与您现在使用的标题完全相同(它们是正确的)。

于 2013-01-13T15:19:09.040 回答