我正在使用mpdf库生成用户生成的html的PDF。我可以使PDF成功保存到服务器,但是我希望PDF在用户浏览器中打开。我尝试使用mpdf的输出选项在浏览器中打开文件或提示下载,但是当我使用AJAX将html数据发送到脚本时都没有发生。
这是我的AJAX:
$('#save').click(function() { var shelf_clone = $('#shelf').clone(); var shelf = shelf_clone.prop('outerHTML'); $.ajax({ type: "POST", url: "pdf.php", data: { html:shelf }, success: function(response) { $('#status').html('File Saved Successfully'); }, }) });
这是我的PDF生成脚本:
<?php include_once('/mpdf/mpdf.php'); $html = $_POST['html']; $mpdf=new mPDF(); $stylesheet = file_get_contents('css/print.css'); $mpdf->WriteHTML($stylesheet,1); $mpdf->WriteHTML($html,2); $mpdf->Output('shelf.pdf', I); exit; ?>
我正在使用AJAX,因此无需浏览页面即可创建PDF。我的代码中是否有错误,还是应该使用其他方法?
我最终没有使用AJAX,而是在表单上添加了隐藏输入,并使用以下脚本填充了它:
$('#save').click(function() { event.preventDefault(); var shelf_clone = $('#shelf').clone(); var shelf = shelf_clone.prop('outerHTML'); $('#save_shelf input[name=shelf]').val(shelf); $('#save_shelf').submit(); });