Ajax を使用した PDF ダウンロードの管理
Ajax 呼び出しを介して PDF ストリームを配信しようとすると、障害に遭遇してイライラすることがあります。この記事では、この課題に対する解決策を検討します。
提示されたコードでは、アクション クラスが PDF を生成し、適切なコンテンツ タイプを設定します。ただし、Ajax 経由でストリームをブラウザに配信するために使用されるアプローチではエラーが発生します。
このエラーは、Ajax 応答が正しく処理されないために発生します。これを解決するには、Ajax リクエストの success 関数を次のように変更します。
<code class="js">success: function(data) { var blob = new Blob([data]); var link = document.createElement('a'); link.href = window.URL.createObjectURL(blob); link.download = "<FILENAME_TO_SAVE_WITH_EXTENSION>"; link.click(); }</code>
このスクリプトは、受信したデータに基づいて BLOB オブジェクトを作成し、アンカー要素 () を構築し、その href 属性を BLOB の URL に設定し、その download 属性を目的のファイル名に設定します。このアンカー要素をクリックすると、ブラウザは PDF のダウンロード プロセスをトリガーします。
以上がAjax を使用して PDF をダウンロードする方法: シンプルなソリューションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。