我有一个关于使用DOMPDF创建PDF的问题。基本上我有一个表单,使用jquery提交数据到DB,如下所示
$('#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作为下载。但是,如果我要直接导航到我的网址
我的回复是pdf下载,但没有数据。
点击“提交”按钮后,是否可以下载导致pdf的任何人?
谢谢。
答案 0 :(得分:2)
用户是否需要提交表单以提交表单,然后会显示PDF的下载对话框?通过使用AJAX来管理流程,您将无法下载PDF,因为AJAX流程会调用并接收响应。这一切都在当前页面的上下文中。
您可以捕获响应然后打开一个新窗口并用PDF填充它。但除非你有真正的需要,否则我会反对它。不要让过程变得比它需要的更难。最简单的方法是发出正常的POST请求而不是AJAX POST请求。通常,用户不会离开当前页面,因为下载过程将取消页面导航。
如果您打算使用AJAX执行此操作,则有lots of related questions。