Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie konvertiere ich HTML5 FormData in JSON für die Client-Server-Kommunikation?

Linda Hamilton
Freigeben: 2024-10-26 18:33:30
Original
578 Leute haben es durchsucht

How to Convert HTML5 FormData to JSON for Client-Server Communication?

Konvertieren von HTML5 FormData in JSON

Das Konvertieren von HTML5 FormData-Objekten in JSON ermöglicht die Serialisierung von Formulardaten in ein maschinenlesbares Format. Dies ist nützlich für die Übertragung von Daten zwischen Client und Server.

Methode unter Verwendung eines benutzerdefinierten Objekts und JSON.stringify

Zum Konvertieren von FormData-Einträgen in JSON ohne jQuery oder Serialisierung gesamtes Objekt:

<code class="javascript">var object = {};
formData.forEach(function(value, key){
    object[key] = value;
});
var json = JSON.stringify(object);</code>
Nach dem Login kopieren

Update 1: ES6-Pfeilfunktionen

Verwendung von ES6-Pfeilfunktionen:

<code class="javascript">var object = {};
formData.forEach((value, key) => object[key] = value);
var json = JSON.stringify(object);</code>
Nach dem Login kopieren

Update 2: Unterstützung für mehrwertige Elemente

Für Mehrfachauswahllisten oder andere Formularelemente mit mehreren Werten:

<code class="javascript">var object = {};
formData.forEach((value, key) => {
    if(!Reflect.has(object, key)){
        object[key] = value;
        return;
    }
    if(!Array.isArray(object[key])){
        object[key] = [object[key]];    
    }
    object[key].push(value);
});
var json = JSON.stringify(object);</code>
Nach dem Login kopieren

Update 3: Direkte Übertragung von FormData

Zum Senden von FormData an einen Server über XMLHttpRequest:

<code class="javascript">var request = new XMLHttpRequest();
request.open('POST', 'http://example.com/submitform.php');
request.send(formData);</code>
Nach dem Login kopieren

Oder mit der Fetch-API:

<code class="javascript">fetch('http://example.com/submitform.php', {
  method: 'POST',
  body: formData
}).then((response) => { 
  // do something with response here... 
});</code>
Nach dem Login kopieren

Update 4: Benutzerdefinierte toJSON-Methode für Complex Objekte

Für benutzerdefinierte Objekte definieren Sie eine toJSON-Methode, um deren Inhalt zu serialisieren. Weitere Informationen zu den Einschränkungen von JSON.stringify finden Sie in der MDN-Dokumentation.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich HTML5 FormData in JSON für die Client-Server-Kommunikation?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!