Javascript 从AJAX打印页面
我编写了一个简单的生成器来创建报价。它工作得很好,但我在打印方面遇到了问题。当我尝试从AJAX请求打印页面时,我得到的是索引页面,而不是来自AJAX请求的数据 怎么了? 此外,来自AJAX的数据是正确的。Javascript 从AJAX打印页面,javascript,php,ajax,Javascript,Php,Ajax,我编写了一个简单的生成器来创建报价。它工作得很好,但我在打印方面遇到了问题。当我尝试从AJAX请求打印页面时,我得到的是索引页面,而不是来自AJAX请求的数据 怎么了? 此外,来自AJAX的数据是正确的。 $.post({ type: "POST", url: "generate.php", data: {pid: pid, net: net, brutto: brutto, contractor: contractor, delivery: delivery, term
$.post({
type: "POST",
url: "generate.php",
data: {pid: pid, net: net, brutto: brutto, contractor: contractor, delivery: delivery, term: term},
}).done(function(data) {
window.print(data);
});
PHP文件示例:
<?php
$foo = "foo";
ob_start();
?>
<p><?php echo $foo; ?></p>
<?php
$result = ob_get_flush();
echo $result;
?>
打开“打印”对话框以打印当前文档
它不接受任何参数(因此您传递给它的任何参数都将被忽略)
如果要打印变量中的数据,需要将其放在用户正在查看的文档中。方法print()
不带任何参数。因此,如果要从变量打印数据,可以使用以下方法:
$.post({
type: "POST",
url: "generate.php",
data: {pid: pid, net: net, brutto: brutto, contractor: contractor, delivery: delivery, term: term},
}).done(function(data) {
printWindow = window.open('');
printWindow.document.write(data);
printWindow.print();
});
这将打开一个新选项卡,屏幕上的值为data
,可以打印