使用ajax显示为随机字符串的PDF生成?

对不起我的新秀,但那就是我。 无论如何,我正在尝试制作一个像这样流动的代码:

  1. 用户从数据库进行查询
  2. 结果显示在模态窗口中(使用jQuery UI)
  3. 可以选择在模态窗口中将其视为PDF
  4. Ajax将获取html并将其发送到pdfajax.php以使用TCPDF创建PDF
  5. Ajax将返回PDF结果

我尝试了它,但我可能在第3步到第5步中遇到了磕磕绊。所有我肯定知道的是我可以通过Ajax传递我需要的HTML代码,如果我不尝试将其打印为PDF而是只是将它作为PHP回应它,它的工作原理。 所以我似乎只被困在第5步。

对于实验,我只是试图显示一个简单的PDF,说“嘿”,甚至没有传递变量(我现在评论它)。

结果很难看: 结果

我想我在这里错过了一个函数的使用,它会在传递数据之前清理数据吗? 但是这个function是什么? 或者它是否存在,这只是毫无意义的努力?

这是HTML:



和jQuery

 $(".dialog-form").dialog({ autoOpen: false, modal: true, draggable: true, resizable: true, width: 500, height: "auto", dialogClass: "no-close", buttons: { "PDF": function(){ var html = $('#query_result').html(); $.post('pdfajax.php', { html: $('#query_result').html() }, function( data ){ $('#query_result').replaceWith( data ); } ); //alert(html); }, "Close": function() { $(this).dialog("close"); } } }); $(".minisubmit").click(function() { $( ".dialog-form" ).dialog( "open" ); }); 

和pdfajax.php中的PHP

 <?php //$htmlp = $_POST['html']; //echo ''; require_once 'tcpdf/tcpdf.php'; $method = $_SERVER['REQUEST_METHOD']; if(strtolower($method) == 'post'){ $pdf = new TCPDF(); $pdf->AddPage(); $html = <<writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true); $pdf->Output('example_001.pdf', 'I'); } ?> 

编辑:

我尝试在html中使用iframe,但它不起作用。 单击PDF按钮后,现在没有任何操作。

HTML实际上只是更新了。

 


jQuery现在是:

  $(".dialog-form").dialog({ autoOpen: false, modal: true, draggable: true, resizable: true, width: 500, height: "auto", dialogClass: "no-close", buttons: { "PDF": function(){ var html = $('#query_result').html(); $.post('pdfajax.php', { html: $('#query_result').html() }, function( data ){ //$('#report_result').( data ); $('#report_result').prop('src', 'pdfajax.php'); } ); //alert(html); }, "Close": function() { $(this).dialog("close"); } } }); 

并没有改变ajax文件。 我需要提示如何继续? 我根本不知道如何操纵iframe标签,互联网教程似乎没有帮助我理解。