ホームページ >ウェブフロントエンド >jsチュートリアル >非同期 JavaScript および XML (AJAX) 呼び出しを通じてファイルのダウンロードを開始するにはどうすればよいですか?
非同期 JavaScript および XML (AJAX) 呼び出しによるファイルのダウンロード
AJAX は、Web アプリケーションとサーバー間の非同期通信のための貴重なツールです。ただし、ファイルのダウンロードに関しては制限があります。この記事では、その理由を検討し、ファイル ダウンロードの代替ソリューションを提供します。
AJAX 呼び出しがファイルのダウンロードに失敗する理由
AJAX は、HTTP リクエストを送信し、Web で応答を受信することによって動作します。ブラウザ。データの取得には優れていますが、ファイルのダウンロードを開始するために必要な機能がありません。ダウンロードが要求されると、ブラウザは AJAX 呼び出しとは独立してプロセスを処理します。
代替アプローチ: ファイルのダウンロード
AJAX 呼び出しを通じてファイルのダウンロードを開始するには、次の 1 つの回避策があります。新しいウィンドウを作成し、そのアドレスとしてファイルのダウンロード リンクを割り当てます。別のオプションは、ドキュメントの場所をファイルの URL にリダイレクトすることです。
サンプル コード
<code class="php"><?php // Create the CSV file based on user input $fileName = 'file.csv'; $downloadFileName = 'newfile.csv'; file_put_contents($fileName, 'CSV Data'); // Create a new window and set its address to the download link ?> <script type="text/javascript"> window.open('<?php echo $downloadFileName; ?>', '_blank'); </script> <?php exit; ?></code>
このアプローチでは、PHP スクリプトを利用して CSV ファイルを生成し、ファイルのダウンロードを自動的に開始する新しいウィンドウです。
結論
AJAX は Web 開発用の多用途ツールですが、その制限によりファイルのダウンロードを実行できません。この記事で説明されている代替方法を使用しても、開発者は AJAX 呼び出しを通じてファイルをダウンロードできます。
以上が非同期 JavaScript および XML (AJAX) 呼び出しを通じてファイルのダウンロードを開始するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。