如何将数据传递到PHP文件,在新窗口中运行

时间:2017-10-22 19:09:29

标签: php ajax dompdf

我正在尝试按下按钮运行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文件?谢谢!

1 个答案:

答案 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);
                }
            });
       });
    });