0

我有一个关于使用 DOMPDF 创建 PDF 的问题。基本上我有一个表单,它使用 jquery 将数据提交到数据库,如下所示

$('#submit').click(function(){
var submit = $.ajax({
    url: 'setController.php',
    type: 'POST',
    data: dataString,
    success: function(msg){
        alert("sent");

        },
        error: function(msg){
    alert("fail");
        }
    });
});

setController 调用我的 setModel,它在将数据提交到数据库后返回我的 html 的渲染。看起来像这样。

$html = $this -> setModel  -> setData($arr1,$arr2);

这将返回一个简单的 html 表。

然后我把它推到 dompdf 如下

    $this->load->helper(array('dompdf', 'file'));
    pdf_create($html, 'report');

我的问题是当单击 ID #submit 的按钮时,没有 pdf 作为下载返回。但是,如果我要直接导航到我的网址

http://www.url/setData

我返回了一个没有数据的 pdf 下载文件。

单击提交按钮后,任何人都可以下载pdf吗?

谢谢你。

4

1 回答 1

2

您是否希望用户提交表单,然后显示 PDF 的下载对话框?通过使用 AJAX 管理流程,您将没有机会下载 PDF,因为 AJAX 流程会发出调用并接收响应。这一切都在当前页面的上下文中。

可以捕获响应,然后打开一个新窗口并使用您的 PDF 填充它。但除非您有真正的需要,否则我建议您不要这样做。不要让这个过程变得比它需要的更难。最简单的方法是发出普通的 POST 请求而不是 AJAX POST 请求。通常,用户永远不会离开当前页面,因为下载过程将取消页面导航。

如果您打算使用 AJAX 执行此操作,则有很多相关问题

于 2013-07-15T22:26:24.273 回答