2017-12-18 22 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

は、現在のドキュメントを印刷する印刷ダイアログを開きます。

これは引数をとらないので、渡す引数はすべて無視されます。

変数にあるデータを印刷する場合は、ユーザーが表示している文書にそのデータを入れる必要があります。