gpt4 book ai didi

php - XMLHttpRequest 在浏览器中打开 PDF

转载 作者:可可西里 更新时间:2023-11-01 01:09:19 26 4
gpt4 key购买 nike

我想执行 XMLHttpRequest,然后通过 POST 方法发送文件名在浏览器中打开 PDF。

   xmlhttp.open("POST","pdf.php",true); //CHANGE
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("file="+input);

这可能吗,或者 XMLHttpRequest 仅适用于 HTML?

最佳答案

  1. 如果您查询的 URL 实际上返回 PDF 数据,则无法通过 XMLHttpRequest 执行此操作。

    为什么?因为响应是包含原始 PDF 数据的 HTTP 响应。没有 JavaScript 能够用该数据中包含的 PDF 呈现替换当前文档的 DOM 内容,即使您确实可以通过 responseText 访问数据。 ` 属性(另见 http://www.w3.org/TR/XMLHttpRequest/#the-responsetext-attribute )。

  2. 您可以做的是将 PDF 文件生成为临时文件,该临时文件可通过 Web 服务器的 URL 访问,然后让脚本发回用于访问该文件的 URL。

    当您的响应处理程序处理 URL 时,它可以:

    • 通过更改 window.location.href = new_pdf_url 重新加载当前页面

    • 将其加载到 <iframe> 中通过更改 iframe 的 src 在当前文档中属性

    • 通过 window.open(new_pdf_url, XXX) 在单独的窗口中打开它

      请注意,您仍然需要一个指向临时文件位置的 URL 才能打开新窗口

关于php - XMLHttpRequest 在浏览器中打开 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4750461/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com