2017-12-18 124 views
4

我寫了一個簡單的生成器來創建優惠。它工作良好,但我遇到了打印問題。當我從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; 

?> 

回答

4

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價值並準備打印。

3

print() method

打開打印對話框打印當前文檔。

它沒有任何參數(所以你傳遞的參數將被忽略)。

如果要打印變量中的數據,則需要將其放入用戶正在查看的文檔中。