Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 输出pdf流的正确方法返回到ajax调用成功方法_Php_Jquery_Ajax_Wordpress_Pdf - Fatal编程技术网

Php 输出pdf流的正确方法返回到ajax调用成功方法

Php 输出pdf流的正确方法返回到ajax调用成功方法,php,jquery,ajax,wordpress,pdf,Php,Jquery,Ajax,Wordpress,Pdf,我在wordpress上有一个网页 在页面模板中,我通过Ajax调用一个php函数,该函数返回由php pdftk库调用生成的pdf流。 pdf流似乎很好地返回到jquery ajax调用的成功事件,但我找不到将此流发送到浏览器的方法。 似乎没有直接的方法可以输出到新的浏览器窗口,也没有直接的方法将对象或嵌入到同一文档中 我已经在SO和其他网站上阅读了几乎所有关于这个问题的答案,但这似乎是不可能做到的 有没有人从JS或Jquery中找到了这样做的方法,或者从概念的角度来看这是不可能的? 最好的方

我在wordpress上有一个网页

在页面模板中,我通过Ajax调用一个php函数,该函数返回由php pdftk库调用生成的pdf流。
pdf流似乎很好地返回到jquery ajax调用的成功事件,但我找不到将此流发送到浏览器的方法。
似乎没有直接的方法可以输出到新的浏览器窗口,也没有直接的方法将对象或嵌入到同一文档中

我已经在SO和其他网站上阅读了几乎所有关于这个问题的答案,但这似乎是不可能做到的

有没有人从JS或Jquery中找到了这样做的方法,或者从概念的角度来看这是不可能的?

最好的方法是什么?

让php函数在可访问web的位置创建一个临时文件,并返回url。js success函数然后简单地指示浏览器打开URL谢谢Steve,我想你的回答意味着没有办法(或简单的方法)直接将pdf流输出到浏览器?根据我的经验不是这样的-我做的研究与你去年刚做的差不多,最后使用了上述方法。有些事情是可以使用的,但我认为实施它的努力是不合理的。若你们仍然想尝试这种方法,有很多问题可能会有所帮助:还有一个问题,什么时候你们会从服务器上删除那个pdf?服务器上的cron可以“垃圾收集”所有pdf文件吗?或者怎么做?是的,我用的是cron作业。或者,您也可以抛弃ajax,而是创建一个隐藏的表单来提交所需的数据,这样返回的pdf数据流直接由浏览器处理(导致下载,或者如果浏览器具有pdf功能,则打开),让php函数在可访问web的位置创建临时文件,并返回url。js success函数然后简单地指示浏览器打开URL谢谢Steve,我想你的回答意味着没有办法(或简单的方法)直接将pdf流输出到浏览器?根据我的经验不是这样的-我做的研究与你去年刚做的差不多,最后使用了上述方法。有些事情是可以使用的,但我认为实施它的努力是不合理的。若你们仍然想尝试这种方法,有很多问题可能会有所帮助:还有一个问题,什么时候你们会从服务器上删除那个pdf?服务器上的cron可以“垃圾收集”所有pdf文件吗?或者怎么做?是的,我用的是cron作业。或者,您也可以抛弃ajax,而是创建一个隐藏表单来提交所需的数据,这样返回的pdf数据流就可以由浏览器直接处理(导致下载,或者在浏览器具有pdf功能时打开)