【发布时间】:2016-09-23 19:14:32
【问题描述】:
我正在尝试使用 TCPDF 将当前的 html 页面转换为 pdf。我使用 Ajax 将 html 代码传递给 CreatePDF 控制器,但不确定为什么“pdfreport”视图无法打开。
在我的控制器 CreatePDF 中:
public function pdf() {
$this->load->helper('pdf_helper'); //tcpdf helper file
$HTMLInfo = $this->input->post('HTMLInfo'); //get html code from view
$data['HTMLInfo'] = $HTMLInfo;
$this->load->view('pdfreport', $data);
}
在视图中我有一个“PDF”按钮,点击时:
$('#pdf').click(function(){
$.ajax({//ajax call
type: 'post',
url: '<?php echo base_url('CreatePDF/pdf'); ?>',
data: {'HTMLInfo': document.getElementById('repTable').outerHTML},
success: function (data) {
}
});
});
如果我用html代码替换$data['HTMLInfo'],直接调用CreatePDF,加载pdf页面是没有问题的。
如果我使用:
$HTMLInfo = 'TEST';
<input type="button" onClick="location.href = '<?php echo site_url("CreatePDF/pdf/{$HTMLInfo}"); ?>'" value="HTMLInfo" />
在pdf中打印“TEST”也没有问题,但是如何使用“document.getElementById('repTable').outerHTML”而不是“TEST”呢?
谁能帮我解决这个问题?
【问题讨论】:
-
你需要从控制器发送 true 或 false 并在你的成功函数中检查它,如果 true 然后 location.herf="url";您无法在 ajax 方法中加载视图。
标签: javascript ajax codeigniter tcpdf