Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich mit jQuery AJAX erfolgreich Formulare mit Dateieingaben übermitteln?

Wie kann ich mit jQuery AJAX erfolgreich Formulare mit Dateieingaben übermitteln?

Linda Hamilton
Freigeben: 2024-12-21 03:41:11
Original
207 Leute haben es durchsucht

How to Successfully Submit Forms with File Inputs Using jQuery AJAX?

So handhaben Sie das Hochladen von Dateien mit jQuery-Serialisierung

Beim Arbeiten mit Formularen, die Dateieingabefelder enthalten, kann die Serialisierungsfunktion von jQuery für die AJAX-Übermittlung verwendet werden stellen Herausforderungen dar. Herkömmliche Serialisierungsmethoden verarbeiten Dateieingaben nicht effektiv, was zu leeren $_FILES-Daten führt.

Lösung: FormData-Objekt

Um diese Einschränkung zu überwinden, verwenden Sie das FormData-Objekt. Mit FormData können Sie alle Formulardaten, einschließlich Dateieingaben, erfassen und serialisieren. Durch die Verwendung von FormData können Sie Dateien nahtlos an Ihre AJAX-Anfrage übergeben.

Codebeispiel:

$(document).on("submit", "form", function(event) {
    event.preventDefault();
    $.ajax({
        url: $(this).attr("action"),
        type: $(this).attr("method"),
        dataType: "JSON",
        data: new FormData(this),
        processData: false,
        contentType: false,
        success: function (data, status) {

        },
        error: function (xhr, desc, err) {

        }
    });        

});
Nach dem Login kopieren

In diesem Beispiel erstellen wir ein FormData-Objekt aus dem Formular und setzen Sie die Optionen „processData“ und „contentType“ auf „false“. Diese Optionen verhindern, dass jQuery die Daten automatisch konvertiert und den Inhaltstyp festlegt, wodurch FormData den Datei-Upload-Prozess übernehmen kann.

Das obige ist der detaillierte Inhalt vonWie kann ich mit jQuery AJAX erfolgreich Formulare mit Dateieingaben übermitteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage