0

DOMPDF での PDF 作成について質問があります。基本的に、以下のようなjqueryを使用してDBにデータを送信するフォームがあります

$('#submit').click(function(){
var submit = $.ajax({
    url: 'setController.php',
    type: 'POST',
    data: dataString,
    success: function(msg){
        alert("sent");

        },
        error: function(msg){
    alert("fail");
        }
    });
});

setController は、データを DB に送信した後、html のレンダリングを返す setModel を呼び出します。このように見えます。

$html = $this -> setModel  -> setData($arr1,$arr2);

これは単純な html テーブルを返します。

次に、これを次のように dompdf にプッシュします。

    $this->load->helper(array('dompdf', 'file'));
    pdf_create($html, 'report');

私の問題は、ID #submit のボタンがクリックされたときに、pdf がダウンロードとして返されないことです。ただし、自分の URL に直接移動する場合

" http://www.url/setData "

データが含まれていない pdf をダウンロードして返品します。

[送信] ボタンをクリックすると、PDF をダウンロードできる人はいますか?

ありがとうございました。

4

1 に答える 1

2

ユーザーがフォームを送信してから、PDF のダウンロード ダイアログを表示する操作を希望していますか? AJAX を使用してプロセスを管理すると、AJAX プロセスが呼び出しを行い、応答を受け取るため、PDF をダウンロードする機会が提供されなくなります。これはすべて、現在のページのコンテキスト内にあります。

応答をキャプチャしてから、新しいウィンドウを開いて PDF を入力することができます。しかし、本当に必要でない限り、私はそれをお勧めしません. プロセスを必要以上に難しくしないでください。最も簡単な方法は、AJAX POST リクエストではなく、通常の POST リクエストを作成することです。通常、ダウンロード プロセスによってページ ナビゲーションがキャンセルされるため、ユーザーが現在のページを離れることはありません。

AJAX を使用してこれを行うつもりなら、関連する質問がたくさんあります

于 2013-07-15T22:26:24.273 に答える