javascript - JQuery 之后调用 PHP 文件

标签 javascript php jquery ajax dompdf

我正在使用 DOMPDF,并且希望我的表单输入文本以 PDF 格式提供。因此,当我在输入字段中输入内容并按“导出为 PDF”时,我希望它出现在那里。这就是我计划的解决方案。当我从 HTML 中使用 POST 调用 PHP 时,就会出现问题,因为它不会更新输入值。它只发送空白的。我需要更改它,以便它更新它们。

1) 用文本填写输入字段 2) 单击导出为 PDF 3)使用JQuery更改带有输入值的HTML 4) 调用 PHP 文件 ($dompdf->loadHtml(file_get_contents('index.php'));

我尝试使用 AJAX 来实现此目的,但它不起作用。我不需要将任何数据发送到 PHP 文件。我只需要在 JQuery 更改 HTML 后调用 if 即可。

这是我的 PHP 文件:

<?php
require_once 'autoload.inc.php';
// reference the Dompdf namespace
use Dompdf\Dompdf;

// instantiate and use the dompdf class
$dompdf = new Dompdf();
$dompdf->loadHtml(file_get_contents('index.php'));
// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'landscape');

// Render the HTML as PDF
$dompdf->render('doc.pdf');

// Output the generated PDF to Browser
$dompdf->stream();

?>

还有我的 JQUERY 文件

function ajax() {
    alert('in');
$.ajax({
    url: 'jobsheet.php',
    type: 'POST',
    data: formData,
    success:function(response){
        alert(response);
    }
});
}

如果您有任何其他解决方案,请告诉我!

最佳答案

我发现您的技术有两个问题。

首先,Dompdf(从 0.6.1 开始)不解析 PHP,因此您需要在将其传递给 dompdf 之前对其进行预解析。您可以为此使用输出缓冲:

<?php
ob_start();
require_once 'index.php';
$html = ob_get_clean();
ob_end_clean();

require_once 'autoload.inc.php';
use Dompdf\Dompdf;
$dompdf = new Dompdf();
$dompdf->loadHtml($html);
$dompdf->setPaper('A4', 'landscape');
$dompdf->render();
$dompdf->stream();
?>

其次,如果您只想显示结果,为什么还要使用 AJAX?当您可以简单地使用表单帖子时,以这种方式获取和显示 PDF 文档需要更多的工作。如果您有使用 AJAX 的特殊需要,您应该指定。

关于javascript - JQuery 之后调用 PHP 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41649314/

相关文章:

javascript - redux-observable 中的独立链取消?

PHP:如何使用::而不是\访问命名空间类?

php - 如何在没有任何Where条件的情况下在mysql中删除特定行

jquery - 使用 jquery 和 css 的下拉菜单

javascript - 使用javascript将html表格导出到excel

javascript - 从其他集合(不是引用)填充子字段

php - 使用 file_get_contents 跳过行?

javascript - 使用 JS/jQuery 从 JsonArray 中提取数据

javascript - 如何使用此行中的按钮在数据表中添加类行?

JavaScript Promise 声明差异