0

我正在使用$.post(url, function(data){ // I use data here });我从帖子中获得的数据是 PDF 流(响应内容类型是应用程序/pdf)。我有一个 iframe,我必须在其中显示此 PDF。目标浏览器是 IE7 & IE8。

一种解决方案是提交表单并将目标指定为 iFrame。但是,我很难验证它是否真的是 PDF 或自定义设计的未找到错误页面(在此处讨论)。

4

1 回答 1

0

我已经做到了。我所做的是检查:

if (data.toLowerCase().substr(0, 4) == "%pdf")

如果评估结果为真,您应该有一个 PDF,否则内容将是服务器在错误时发回的任何内容。

通过使用 $.get 调用 HTTPHandler 进入对象元素的流式 PDF 中,我试图做类似的事情。

第一步是进行 Ajax 调用——这将是你的$.post(url, function(data){ // I use data here });——然后按照我上面的建议检查结果。

如果 PDF 返回且没有错误:$('#iframe_id')[0].src = 'url'. 诀窍在于,通过利用浏览器缓存,设置 IFrame 的源将显示缓存的 PDF,而不是重新发送请求。

要使缓存起作用,您需要确保url用于请求 PDF 的两次都相同。

于 2012-10-10T02:17:28.910 回答