Heim >Web-Frontend >js-Tutorial >Wie kann ich mit Ajax Dateidownloads asynchron auslösen?

Wie kann ich mit Ajax Dateidownloads asynchron auslösen?

Susan Sarandon
Susan SarandonOriginal
2024-12-25 02:19:14266Durchsuche

How to Trigger File Downloads Asynchronously with Ajax?

Dateien asynchron mit Ajax herunterladen

Beim Herunterladen einer Datei mit Ajax werden die zurückgegebenen Daten normalerweise als Binärstream angezeigt. Wenn Sie jedoch ein Datei-Download-Fenster öffnen möchten, können Sie die folgenden Schritte ausführen:

Update für moderne Browser 2019

Dieser Ansatz wird für moderne Browser empfohlen:

Codebeispiel:

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!'));

Das obige ist der detaillierte Inhalt vonWie kann ich mit Ajax Dateidownloads asynchron auslösen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn