【发布时间】:2013-10-09 15:46:04
【问题描述】:
类似于POST to server, receive PDF, deliver to user w/ jQuery 但这似乎在这里不起作用...
我需要向服务器发送一个请求,其中包含名称/值对的有效负载。服务器通过发送 PDF 文件进行响应
所有用户需要知道的是,在点击页面上的 pdf 按钮后,他们将获得浏览器默认行为(即保存或查看)。
所以,调用很简单(我认为)
$.ajax({
url:"http://blah.com/etc",
data:{filename:'output.pdf', foo:'foo', bar:'bar', baz:'baz'},
type:"POST"
});
这就是服务器需要做的所有事情并返回 output.pdf
它看起来工作正常。以下是响应标头:
Connection:keep-alive
Content-Disposition:attachment; filename="output.pdf"
Content-Length:17896
Content-Type:application/pdf
Date:Thu, 03 Oct 2013 04:19:06 GMT
Server:nginx
而且,如果我查看 Chrome 开发工具中的响应,它在我看来确实像 17k pdf...
最后一个障碍是浏览器(Chrome 或 FF)什么都不做,我想我错过了“现在将此响应作为可下载文件处理”的部分
【问题讨论】:
-
您想通过单击按钮获得 pdf 下载吗?在这里你可以用 HTML5 来做,你需要用 pdf 位置的 url 设置锚标签
a并添加属性download -
感谢 Satinder,但这并不能处理有效载荷数据,而且我还有一两个 IE8 用户
标签: javascript jquery ajax