Ich habe einen iframe auf meiner Seite, und innerhalb dieses iframe führe ich Code aus:
%Vor%Antwort ist gut, aber ich bekomme nicht "SAVE ATTACHMENT" -Dialog, nichts passiert ... Um die Dinge klar zu machen, sind Kopfzeilen in Ordnung (Inhaltsdisposition, MIME-Typ usw.), als wenn ich diesen Export mit ausführen würde einfache Form Einreichung funktioniert. Es scheint, dass es etwas mit Ajax-Aufruf zu tun hat. Wird es irgendwie funktionieren?
Danke
Wenn Sie AJAX verwenden, wird das Dialogfeld "Speichern unter" nicht angezeigt. Wenn Sie diesen Dialog erhalten möchten, geben Sie einfach einen normalen Link zur Download-Datei an:
%Vor%oder wenn Sie eine POST-Anfrage benötigen:
%Vor%Wenn Sie AJAX verwenden, um eine Datei herunterzuladen, wird der Inhalt dieser Datei beim erfolgreichen Rückruf abgerufen, aber Sie können nicht viel damit machen: Sie können ihn nicht auf dem Client-Computer speichern, und Sie können das Dialogfeld Speichern unter nicht aufrufen.
Um Darins Antwort zu erweitern, hier ist, wie ich es gemacht habe:
Ich habe ein verstecktes Formular mit einem versteckten Eingabeelement, das verwendet werden kann, um die Werte dynamisch zu halten, die ich konvertieren / exportieren möchte:
%Vor%Dann habe ich diesen jQuery-Code, um die Elemente dynamisch mit den post-Parametern zu füllen und dann das Formular zu senden.
%Vor%Und weil die zurückgegebene Antwort (aus dem api-Aufruf) einen Content Disposition-Header gesetzt hat, wird diese Formular-Submit-Aktion den Benutzer nicht von der aktuellen Seite wegsteuern (sondern nur den Anhang zurückgeben) wie ein normales Formular-Submit und somit immer noch hält die Illusion eines typischen Ajax unterwerfen: -)