我在index.php中有一个用于使用TCPDF库创建PDF的表单。我正在尝试做的是在提交表单之前显示PDF预览,当文本字段或选择失去焦点时。
3个PHP文件:
$pdf->Output('file_name.pdf', I);
。&#34; I&#34;表示此处将PDF呈现给浏览器(&#34; F&#34;是用于保存文件)。<div id="insertingData">
<form id="form" action="create_pdf.php" method="POST">
// some input, textarea and select tags for PDF content with 'c' class
</form>
</div>
<div id="pdfPreview"></div>
$('.c').on('blur', function(){
$.ajax({
type: 'POST',
url: 'create_pdf_preview.php',
data: $('#form').serialize(),
success: function(data){
$('#pdfPreview').html(data); // this should be PDF
},
dataType: 'html' // PDF
});
});
那么 - 有谁知道,如何改变AJAX工作?如果我要提供更多细节,请告诉我。
感谢您的任何建议。
答案 0 :(得分:0)
即使它有效,你如何期望.html()
pdf进入页面?
我建议你做什么(受到Preview pdf file created with TCPDF in embed tag after Ajax call的启发)是添加一个嵌入标签,其中包含src
新创建的pdf。我的意思是,用新创建的pdf刷新嵌入源。
不是像在create_pdf_preview.php中那样输出pdf,而是可以使用第二个被重写的文件,当ajax调用结束时,只需将嵌入的src更改为path/to/file.pdf?g=45
,并在那里使用随机数这会欺骗浏览器认为src已经改变并刷新文件。
现在,正如我从中获得灵感的问题一样,如果您为多个用户使用相同的文件,只会根据时间戳或ip或两者创建临时文件,并在完成编辑后删除它们,则会出现问题。< / p>