PDF-Downloads mit Ajax verwalten
Beim Versuch, PDF-Streams über Ajax-Aufrufe bereitzustellen, kann es frustrierend sein, auf Hindernisse zu stoßen. In diesem Artikel wird eine Lösung für diese Herausforderung untersucht.
Im vorgestellten Code generiert eine Aktionsklasse ein PDF und legt den entsprechenden Inhaltstyp fest. Allerdings tritt beim Ansatz zur Übermittlung des Streams an den Browser über Ajax ein Fehler auf.
Der Fehler tritt auf, weil die Ajax-Antwort nicht korrekt verarbeitet wird. Um dieses Problem zu lösen, können wir die Erfolgsfunktion in der Ajax-Anfrage wie folgt ändern:
<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>
Dieses Skript erstellt ein Blob-Objekt basierend auf den empfangenen Daten, erstellt ein Ankerelement () und setzt sein href-Attribut auf die URL des Blobs und sein Download-Attribut auf den gewünschten Dateinamen. Durch Klicken auf dieses Ankerelement löst der Browser den Download-Vorgang für das PDF aus.
Das obige ist der detaillierte Inhalt vonSo laden Sie PDFs mit Ajax herunter: Eine einfache Lösung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!