我想执行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?
为什么?因为该响应是包含原始PDF数据的HTTP响应。即使您确实可以通过responseText`属性访问数据,JavaScript也无法用该数据中包含的PDF呈现来替换当前文档的DOM内容 (另请参见http://www.w3.org/TR) / XMLHttpRequest /#the-responsetext- attribute)。
当您的响应处理程序处理URL时,它可以:
* 通过更改重新加载当前页面 `window.location.href = new_pdf_url` * `<iframe>`通过更改iframe的`src`属性将其加载到当前文档的内部 * 通过在另一个窗口中打开它 `window.open(new_pdf_url, XXX)`
请注意,您仍然需要指向临时文件位置的URL才能打开新窗口