【发布时间】:2012-02-15 10:44:32
【问题描述】:
我想知道是否有人可以建议以下解决方法的替代方法。
我有一个对 PDF 发出 http 请求的 Web 应用程序。 PDF 在服务器端创建请求的时间可能超过默认超时时间,因此为了更好地控制这一点,我使用了 ajax,之前只使用了 window.open。
但是,由于 PDF 的准备方式,创建它的请求也会返回它。我无法找到处理返回的二进制 PDF 数据的方法,所以我只是依靠浏览器缓存来存储数据。然后简单地再次请求相同的 url,但使用 window.open。
代码如下..
function loadPdf(url, timeout){
$.ajax({
url: url,
success: function(data){
window.open(url);
},
error: function(error, status){
window.alert("Problem retrieving PDF.\nThe error status is: " + status);
},
timeout: timeout,
dataType: "application/pdf"
});
}
我真正想做的是以要求用户打开/保存 PDF 的方式处理成功数据。我不太喜欢以这种方式使用 window.open,尤其是作为这样的重复调用。
【问题讨论】:
-
也许有 iframe 的东西?
-
这是我考虑过的事情,可能是未来的一个选择。
标签: javascript ajax pdf-generation