php – XMLHttpRequest在浏览器中打开PDF

我想做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?

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

为什么?因为响应是包含原始PDF数据的HTTP响应.即使您可以通过responseText`属性访问数据,也没有JavaScript能够用当前文档的DOM内容替换该数据中包含的PDF,(参见http://www.w3.org/TR/XMLHttpRequest/#the-responsetext-attribute).
>您可以做的是将PDF文件生成到可通过Web服务器的URL访问的临时文件中,然后让脚本发回用于访问该文件的URL.

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

>通过更改window.location.href = new_pdf_url重新加载当前页面
>将其加载到< iframe>通过更改iframe的src属性在当前文档中
>通过window.open(new_pdf_url,XXX)在单独的窗口中打开它

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

https://stackoverflow.com/questions/4750461/xmlhttprequest-to-open-pdf-in-browser

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:php – XMLHttpRequest在浏览器中打开PDF