私はangularjs/laravelアプリケーションを作成しています。特定のデータをPDFにエクスポートする機能を実装する必要がありました。 PDFはlaravel dompdfを使用してバックエンドで生成され、GET要求の結果として返されます。私はまた、Angular File Saverを使用して、要求の成功コールバックでファイルを保存する処理を行います。これまでのコードは角でこれのように見えますクライアント側で作成されたBLOBが新しいデータで更新されない
function (response) {
var data = new Blob([response.data], { type: 'application/pdf' });
console.log(data);
FileSaver.saveAs(data, 'balance.pdf');
}
これはうまくいきます。 PDFが正しく生成され、保存されます。問題は、データ(CRUD操作 - これも正しく実行されます)を更新した後で、エクスポート関数を呼び出してPDFを再度保存すると、古いデータとともに保存されることです。 console.log(data)行は、Blobが常に同じサイズで作成されていることを私に示しています(なぜ新しいキーワードを使用しているのかわからないので、私は間違っている)。更新されたデータを使用してPDFを取得するには、ブラウザを手動で更新する必要があります。これはSPAの目的を破ってしまい、ユーザーに混乱を招くことになります。なぜこのようなことが起こったのか、誰かが何らかのヒントを提供できれば、私はそれを感謝するでしょう。事前に感謝します
ajaxからresponse.dataを確認しましたか、バックエンドで生成されたpdfは正確ですか? –
@ARIFMAHMUDRANA pdfは正確です。私が言ったように、輸出機能は正常に動作します。私は結果として正しいPDFをダウンロードしてダウンロードします。問題は、データを変更してダウンロードを再開すると、PDFが更新されないということです。手動でブラウザを更新してダウンロードを開始すると、正しいデータが得られます – hrivera