首頁 >web前端 >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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn