Beispiel für asynchronen Dateiupload in HTML

Beispiel für asynchronen Dateiupload in HTML

Code kopieren
Der Code lautet wie folgt:

<form action="/hehe" method="post">
<Eingabetyp="Text" Wert="hehe"/>
<Eingabetyp="Senden" Wert="Hochladen" ID="Hochladen"/>
</form>


Code kopieren
Der Code lautet wie folgt:

Dies ist die gebräuchlichste und einfachste Methode zum Absenden von Formularen in HTML, aber bei dieser Methode müssen die Seiten gewechselt werden. Manchmal möchten wir vielleicht auf derselben Seite mit dem Server interagieren und nach dem Absenden des Formulars nicht auf eine andere Seite wechseln. Was sollen wir tun? Hier sind mehrere Möglichkeiten zum Absenden von Formularen.
Lassen Sie mich zunächst eine Lösung vorstellen, die das Land durch einen Umweg rettet. Der obige Codeausschnitt muss nicht geändert werden. Fügen Sie einfach den folgenden Code hinzu


Code kopieren
Der Code lautet wie folgt:

<iframe id="uploadFrame" name="uploadFrame"></iframe>

Und fügen Sie das Zielattribut in der Form target=uploadFrame hinzu. Das Zielattribut muss mit dem Wert der ID im Iframe übereinstimmen (oder mit dem Wert des Namensattributs, das werden Sie nach dem Ausprobieren wissen).

Um es kurz zu erklären: Unser Formular wird nach dem Absenden aktualisiert, aber warum gibt es keinen Seitensprung? Das liegt am Iframe. Tatsächlich haben wir im Iframe aktualisiert, und der Iframe ist leer, was dasselbe ist wie nicht aktualisiert. Es gibt uns ein asynchrones Gefühl. Dies ist keine orthodoxe Methode, sondern ein Umweg, um das Land zu retten. Natürlich ist diese Methode in vielen Fällen nicht anwendbar. Beispielsweise hoffen wir, nach dem Absenden des Formulars etwas vom Server abzurufen. Diese Methode ist offensichtlich nicht praktikabel. Hier benötigen wir auch ein wirklich asynchrones Übermittlungsformular.

(II) Asynchrone Formularübermittlung mit jQuery

Hier stellen wir ein jQuery-Formular-Übermittlungs-Plugin ajaxupload vor, das auch relativ einfach zu verwenden ist.

Code kopieren
Der Code lautet wie folgt:

<Text>
<form action="/hehe" method="post">
<Eingabetyp="Text" Wert="hehe"/>
<input Typ="Schaltfläche" Wert="Hochladen" ID="Hochladen"/>
<!--<input type="button" value="senden" onclick="senden()"/>-->
</form>
<Skript>
(Funktion(){
neuer AjaxUpload("#upload", {
Aktion: '/hehe',
Typ: „Beitrag“,
Daten: {},
Name: 'Textfeld',
onSubmit: Funktion(Datei, ext) {
alert("Hochladen erfolgreich");
},
onComplete: Funktion(Datei, Antwort) {
}
});
})();
</Skript>
</body>

Der Hauptcode wird hier veröffentlicht. Nachdem das Rendern der Seite abgeschlossen ist, verwenden wir eine selbstausführende Funktion, um der Schaltfläche mit der ID „Upload“ ein asynchrones Upload-Ereignis hinzuzufügen. Die ID in new AjaxUpload (id, object) entspricht der ID des gebundenen Objekts. Was den zweiten Parameter betrifft, sind Daten die zusätzlichen Daten, Name kann beliebig sein, die Funktion onSubmit ist die Rückruffunktion vor dem Hochladen der Datei, die erste Parameterdatei ist der Dateiname, ext ist das Dateisuffix und die Funktion onComplete kann die vom Server zurückgegebenen Daten verarbeiten. Oben sind zwei einfache Implementierungen von Datei-Upload-Clients.

<<:  Geplante vollständige MySQL-Datenbanksicherung

>>:  Detaillierte Erklärung zum Hinzufügen eines Klickereignisses im Echarts-Tooltip in Vue

Artikel empfehlen

Problem mit der Groß-/Kleinschreibung in der MySQL-Datenbank

In MySQL entsprechen Datenbanken Verzeichnissen i...

So konfigurieren Sie MGR Single Master und mehrere Slaves in MySQL 8.0.15

1. Einleitung MySQL Group Replication (kurz MGR) ...

js fügt dynamisch Beispielcode für eine Liste eingekreister Zahlen hinzu

1. Fügen Sie zuerst das ul-Tag im Textkörper hinz...

Beschreiben Sie kurz die MySQL InnoDB-Speicher-Engine

Vorwort: Die Speicher-Engine ist der Kern der Dat...

Vue implementiert die Drag & Drop-Sortierfunktion der Seiten-Div-Box

vue implementiert die Drag & Drop-Sortierfunk...

Zwei Möglichkeiten, die CSS-Priorität zu verstehen

Methode 1: Werte hinzufügen Gehen wir zu MDN, um ...

So verwenden Sie Docker+DockerCompose zum Kapseln von Webanwendungen

Inhaltsverzeichnis Technologie-Stack Backend-Buil...

Beispielcode zum automatischen Umbrechen des Pre-Tags

Das Pre-Element definiert vorformatierten Text. In...

Nginx-Signalsteuerung

Einführung in Nginx Nginx ist ein leistungsstarke...

Mounten Sie die Festplatte in einem Verzeichnis unter Ubuntu 18.04

Einführung In diesem Artikel wird beschrieben, wi...

Eine kurze Diskussion über die Docker-Compose-Netzwerkeinstellungen

Tutorial zur Netzwerknutzung Offizielle Website d...