ホームページ >ウェブフロントエンド >jsチュートリアル >Ajax を使用してファイルのダウンロードを非同期的にトリガーするにはどうすればよいですか?

Ajax を使用してファイルのダウンロードを非同期的にトリガーするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-25 02:19:14217ブラウズ

How to Trigger File Downloads Asynchronously with Ajax?

Ajax を使用したファイルの非同期ダウンロード

Ajax を使用してファイルをダウンロードすると、通常、返されたデータはバイナリ ストリームとして表示されます。ただし、ファイルのダウンロード ウィンドウを開きたい場合は、次の手順を実行できます:

2019 最新のブラウザー アップデート

このアプローチは最新のブラウザーに推奨されます:

コード例:

fetch('https://jsonplaceholder.typicode.com/todos/1')
  .then(resp => resp.blob())
  .then(blob => {
    const url = window.URL.createObjectURL(blob);
    const a = document.createElement('a');
    a.style.display = 'none';
    a.href = url;
    a.download = 'todo-1.json';
    document.body.appendChild(a);
    a.click();
    window.URL.revokeObjectURL(url);
    alert('your file has downloaded!');
  })
  .catch(() => alert('oh no!'));

以上がAjax を使用してファイルのダウンロードを非同期的にトリガーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。