我正在尝试按下按钮运行DOMPDF。我有一个pdftest.php文件:
require_once 'dompdf/autoload.inc.php';
use Dompdf\Dompdf;
$filename = "pagetopdf.html";
$dompdf = new Dompdf();
$dompdf->loadHtml(file_get_contents($filename));
$dompdf->setPaper('A4', 'portrait');
$dompdf->render();
$dompdf->stream("testfile");
如果我只是加载此文件,它可以正常工作。
但是,我想将我想要的文件名传递给它,然后运行PHP。
所以我将上面的第三行更改为:
$filename=$_POST["mydata"];
我在HTML文件中有一个按钮,带有一个AJAX调用:
$(document).ready(function(){
$("button").click(function(){
$.ajax({url: "pdftest.php", type:"POST", data:{'mydata': "pagetopdf.html"}, data success: function(result){
.....
}});
});
});
......但我不知道该为结果付出什么。如果我打开一个新窗口并向其写入pdftest.php,DOMPDF将输出到窗口,而不是PDF文件。如何传递数据并运行PHP文件?谢谢!
答案 0 :(得分:0)
看起来你几乎就在那里。可能是你在ajax请求时缺少基本路径。
试试这个!
$(document).ready(function(){ $("button").click(function(){ var base_url = 'your server root'; $.ajax({ type: "POST", url: base_url + "pdftest.php", data:{'mydata': "pagetopdf.html"}, success: function(response) { console.log(response); }, error: function(response) { console.log(response); } }); }); });