对不起我的新秀,但那就是我。无论如何,我正在尝试制作一个像这样流动的代码:
我尝试了它,但我可能在步骤3到5上遇到了磕磕绊。所有我肯定知道的是我可以通过Ajax传递我需要的HTML代码,如果我不尝试将其打印为PDF,但只是回应它作为PHP,它的工作原理。所以我似乎只被困在第5步。
对于实验,我只是试图显示一个简单的PDF,说“嘿”,甚至没有传递变量(我现在已经注释掉了)。
结果很难看:
我想我在这里错过了一个函数的使用,它会在传递数据之前清理数据吗?但是这个功能是什么?或者它是否存在,这只是毫无意义的努力?
这是HTML:
<div class="dialog-form" title="Query Dialog">
<br />
<div id="query_result"></div>
<br />
</div>
和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" );
});
PHP中的pdfajax.php
<?php
//$htmlp = $_POST['html'];
//echo '<iframe id="query_result" srcdoc="',$htmlp,'" seamless="true"></iframe>';
require_once 'tcpdf/tcpdf.php';
$method = $_SERVER['REQUEST_METHOD'];
if(strtolower($method) == 'post'){
$pdf = new TCPDF();
$pdf->AddPage();
$html = <<<EOD
Hey
EOD;
$pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true);
$pdf->Output('example_001.pdf', 'I');
}
?>
修改
我试图在html中使用iframe,但它不起作用。单击PDF按钮后,现在没有任何操作。
HTML实际上只是更新了。
<div class="dialog-form" title="Query Dialog">
<br />
<div id="query_result"></div>
<iframe src="pdfajax.php" id="report_result"></iframe>
<br />
</div>
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标签,互联网教程似乎没有帮助我理解。