Heim > Artikel > Web-Frontend > So behandeln Sie den Fehler beim Herunterladen der Jquery Ajax-Anforderungsdatei
Dieses Mal bringe ich Ihnen eine JQuery-Ajax-Anfrage Datei-Download wie man mit einem fehlgeschlagenen Vorgang umgeht, was sind die Vorsichtsmaßnahmen bei der Behandlung eines JQuery-Ajax-Anfrage-Datei-Download-Fehlers, Folgendes ist ein praktischer Fall. Werfen wir einen Blick darauf.
jQuery ist in der Tat ein sehr gutes, leichtes JS-Framework, das uns dabei helfen kann, schnell JS-Anwendungen zu entwickeln, und in gewissem Maße hat es unsere Gewohnheit, JavaScript-Code zu schreiben, verändert Ich werde mich auf die Einführung von Analysen und Lösungen für die Gründe konzentrieren, warum der Download von JQuery-Ajax-Anforderungsdateien fehlgeschlagen ist. Freunde, die an der Analyse der Gründe für das Scheitern von Ajax-Anfragen interessiert sind, sollten gemeinsam lernen.
JQuery ist in der Tat ein sehr Gute, leichte JS-Frameworks können uns dabei helfen, schnell JS-Anwendungen zu entwickeln und bis zu einem gewissen Grad unsere Gewohnheit, JavaScript-Code zu schreiben, zu ändern.
Hören Sie auf, Unsinn zu reden, und kommen wir zur Sache.
Gründe für das Scheitern
Das liegt an der Reaktion Im Allgemeinen verarbeitet der anfordernde Browser die vom Server ausgegebene Antwort, z. B. das Generieren von PNG, das Herunterladen von Dateien usw. Bei der Ajax-Anfrage handelt es sich jedoch nur um eine „Zeichentyp“-Anfrage, dh der angeforderte Inhalt wird im Texttyp gespeichert . Die Datei wird in binärer Form heruntergeladen, obwohl die zurückgegebene Antwort nur gelesen und nicht ausgeführt werden kann. Um es ganz klar auszudrücken: js kann den Download-Verarbeitungsmechanismus und das Programm nicht aufrufen.
2. Lösung
1) Sie können mit jquery ein Formular erstellen und es zum Dateidownload senden; kann einen Tag direkt verwenden, um den Dateidownload zu implementieren;
var form = $("<form>"); form.attr("style","display:none"); form.attr("target",""); form.attr("method","post"); form.attr("action",rootPath + "T_academic_essay/DownloadZipFile.do"); var input1 = $("<input>"); input1.attr("type","hidden"); input1.attr("name","strZipPath"); input1.attr("value",strZipPath); $("body").append(form); form.append(input1); form.submit(); form.remove();Zum Herunterladen klicken3) Verwenden Sie zum Lösen einen versteckten Iframe oder ein neues Formular .
PS: Verwendung der AJAX-Anfrage-Methode $.ajax
Verwenden Sie die $.ajax-Methode von jQuery, um AJAX-Anfragen detaillierter zu steuern. Es übt eine differenzierte Kontrolle über AJAX-Anfragen aus.
Syntax der $.ajax-Methode
|
|
(Objekt) Eine Instanz eines Objekts, dessen Eigenschaften definieren die Parameter dieser Operation. Einzelheiten finden Sie in der Tabelle unten. | |
XHR-Instanz |
Optionen detaillierter Bereichswert
Name |
Typ |
Beschreibung |
URL |
String |
Angeforderte URL-Adresse |
Typ |
Zeichenfolge |
Zu verwendende HTTP-Methode. Normalerweise POST oder GET. Wenn es weggelassen wird, wird standardmäßig GET |
data |
object verwendet |
Ein Objekt, dessen Eigenschaften als Abfrageparameter an die Anfrage übergeben werden. Wenn es sich um eine GET-Anfrage handelt, werden die Daten als Abfragezeichenfolge übergeben; wenn es sich um eine POST-Anfrage handelt, werden die Daten als Anforderungstext übergeben. In beiden Fällen ist es die Dienstprogrammfunktion $.ajax(), die die Kodierung des Werts |
dataType |
String | Ein Schlüsselwort, das den Datentyp identifiziert, der voraussichtlich in der Antwort zurückgegeben wird. Dieser Wert bestimmt, welche nachfolgende Verarbeitung (falls vorhanden) durchgeführt wird, bevor die Daten an die Rückruffunktion übergeben werden. Gültige Werte sind: xml – der Antworttext wird in ein XML-Dokument geparst und das resultierende XML-DOM wird an die Rückruffunktion übergeben html – der Antworttext wird an den Rückruf übergeben Funktion unbearbeitet. Alle
|