从AJAX打印页面

问题描述:

我写了一个简单的生成器来创建优惠。它工作良好,但我遇到了打印问题。当我从AJAX请求尝试打印页面时,我从AJAX请求获取索引页面没有数据。从AJAX打印页面

怎么回事?

此外,来自AJAX的数据是正确的。

$.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价值并准备打印。

print() method

打开打印对话框打印当前文档。

它没有任何参数(所以你传递的参数将被忽略)。

如果要打印变量中的数据,则需要将其放入用户正在查看的文档中。