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

Konfigurationsmethode für das Nginx-Anforderungslimit

Nginx ist ein leistungsstarker, leistungsstarker ...

Verwenden Sie in JS nicht mehr überall Operatoren für absolute Gleichheit.

Inhaltsverzeichnis Überblick 1. Test auf Nullwert...

Implementierungsprinzip und Prozessanalyse der TCP-Leistungsoptimierung

Drei-Wege-Handshake-Phase Anzahl der Wiederholung...

js-Code, der den Button mit der Eingabetaste verknüpft

Code kopieren Der Code lautet wie folgt: <html...

Detaillierte Erklärung zur Verwendung des Linux-Befehls mpstat

1. mpstat-Befehl 1.1 Befehlsformat mpstat [ -A ] ...

Einfaches Beispiel für den Grenzwertparameter der MySQL-Paging

Zwei Parameter der MySQL-Paging Wählen Sie * aus ...

So implementieren Sie Reaktionsfähigkeit beim Lernen des Vue-Quellcodes

Inhaltsverzeichnis Vorwort 1. Schlüsselelemente e...

W3C Tutorial (6): W3C CSS Aktivitäten

Ein Stylesheet beschreibt, wie ein Dokument angez...

Eine kurze Analyse des MySQL-Index

Ein Datenbankindex ist eine Datenstruktur, deren ...

Detaillierte Analyse der Replikation in MySQL

1.MySQL-Replikationskonzept Dies bedeutet, dass d...

MySQL Installer 8.0.21 Installations-Tutorial mit Bildern und Text

1. Grund Ich musste MySQL nur auf einem neuen Sys...

JS beherrscht schnell die Verwendung von ES6-Klassen

1. Wie konstruieren? Lassen Sie uns die allgemein...