Auf meiner HTML-Seite habe ich eine JQuery-Ajax-Anfrage an ein PHP-Skript gemacht, das einen Download erzwingen sollte, aber nichts passiert?
Auf meiner HTML-Seite (im Click-Event-Handler für einen Link) ...
%Vor%Und das Download_File.php Skript sieht so aus
%Vor%Aber aus irgendeinem Grund passiert nichts? Ich habe mir die Antwort-Header in Firebug angeschaut und sehe keine Probleme. Ich benutze Xampp. Jede Hilfe wird sehr geschätzt.
Danke!
Sie sollten Content-Transfer-Encoding
angeben. Außerdem sollten Sie die filename
auf Ihrem Content-Disposition
angeben.
Es ist wichtig, doppelte Anführungszeichen um das filename
einzufügen, da dies von RFC 2231 gefordert wird. Es ist bekannt, dass Firefox Probleme beim Herunterladen von Dateien mit Leerzeichen im Dateinamen hat, wenn filename
nicht in Anführungszeichen steht.
Überprüfen Sie außerdem, ob nach dem schließenden ?>
kein Leerraum vorhanden ist. Wenn nach dem schließenden PHP-Tag noch ein Leerzeichen vorhanden ist, werden die Header nicht an den Browser gesendet.
Als Nebenbemerkung sollten Sie, wenn Sie eine Reihe gängiger Dateitypen zum Download anbieten, diese MIME-Typen angeben. Dies bietet eine bessere Erfahrung für den Endbenutzer. Zum Beispiel könnten Sie so etwas tun:
%Vor%