In diesem Artikel wird hauptsächlich das Tutorial zur Verwendung von PHP und HTML5 FormData zum Implementieren des aktualisierungsfreien Datei-Uploads vorgestellt. In diesem Artikel werden zunächst die Schritte zum Schreiben des Programms erläutert und schließlich ein vollständiges Beispiel aufgeführt
Das Hochladen von Dateien ohne Aktualisierung ist ein häufiges und etwas kompliziertes Problem. Eine häufige Lösung besteht darin, einen Iframe zu erstellen.
In HTML5 wird eine FormData-Objekt-API bereitgestellt. Über FormData kann eine Formularanforderung bequem erstellt und über XMLHttpRequest gesendet werden. Es ist auch möglich, Dateien über das FormData-Objekt zu senden, sodass das Hochladen ohne Aktualisierung sehr einfach wird.
Wie nutzt man FormData? Script House wird dazu im Folgenden eine kurze Einführung geben.
1. Erstellen Sie ein FormData-Objekt
Um ein FormData-Objekt zu erhalten, ist es ganz einfach:
Das FormData-Objekt bietet nur eine Append-Methode, die zum Hinzufügen von Formularanforderungsparametern zum Objekt verwendet wird.
In aktuellen Mainstream-Browsern können FormData auf die folgenden zwei Arten abgerufen oder geändert werden.
Methode 1: Erstellen Sie ein leeres FormData-Objekt und verwenden Sie dann die Append-Methode, um Schlüssel-Wert-Paare nacheinander hinzuzufügen. Beispiel:
Diese Methode erfordert nicht die Existenz von HTML-Formularobjekten.
Methode 2: Erhalten Sie das Formularelementobjekt und übergeben Sie es als Parameter an das FormData-Objekt. Beispiel:
Natürlich können Sie auch die Append-Methode verwenden, um weitere Parameter zu fd hinzuzufügen.
2. FormData sendet eine Anfrage
Nachdem ich nun das FormData-Objekt erhalten habe, wie sende ich eine Anfrage? Das FormData-Objekt wird hauptsächlich in der Sendemethode des erweiterten XMLHttpRequest-Objekts verwendet. Siehe folgendes Beispiel:
3. Verwendung von FormData in jQuery
In der Ajax-Methode von jQuery können Sie auch die FormData-Methode verwenden, um einen aktualisierungsfreien Upload zu erreichen. Achten Sie jedoch auf die Parametereinstellungen, siehe Folgendes:
4. Ein vollständiges Beispiel (einschließlich PHP-Verarbeitungsbeispiel):