Datei-Upload mit jQuery-Serialisierung
Beim Senden eines Formulars mit Datei-Upload-Feldern mithilfe der jQuery-Funktion serialize() können die Dateidaten abgerufen werden herausfordernd. Im Gegensatz zu anderen Formularelementen können Dateieingaben nicht in eine Zeichenfolge serialisiert werden.
Um diese Einschränkung zu umgehen, können Sie das FormData-Objekt verwenden. FormData bietet eine Möglichkeit, Formulardaten, einschließlich Dateien, in ein für die Übermittlung geeigneteres Format zu kodieren.
Hier ist ein Codeausschnitt, der zeigt, wie das Hochladen von Dateien mit FormData gehandhabt wird:
$(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) { } }); });
Mit Bei diesem Ansatz erfasst der FormData-Konstruktor alle Formularelemente, einschließlich Dateieingaben. Indem Sie „processData“ auf „false“ und „contentType“ auf „false“ setzen, versucht jQuery nicht, die Daten zu serialisieren, sodass der Browser den Datei-Upload korrekt verarbeiten kann.
Auf der Serverseite kann auf die Dateidaten über zugegriffen werden Superglobales Array $_FILES, genau wie in einem herkömmlichen Datei-Upload-Szenario.
Das obige ist der detaillierte Inhalt vonWie kann ich jQuery zum Verarbeiten von Datei-Uploads mit FormData verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!