Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie konvertiere ich HTML5 FormData in JSON?

DDD
Freigeben: 2024-10-26 11:07:30
Original
1007 Leute haben es durchsucht

How do I Convert HTML5 FormData to JSON?

HTML5 FormData in JSON konvertieren

Das Konvertieren der Einträge eines HTML5 FormData-Objekts in JSON ist eine häufige Aufgabe in der Webentwicklung. Zwar gibt es verschiedene Ansätze, um dies zu erreichen, aber die einfachste und effizienteste Methode besteht darin, die Funktion forEach() direkt auf dem FormData-Objekt zu verwenden.

var object = {};
formData.forEach(function(value, key){
    object[key] = value;
});
var json = JSON.stringify(object);
Nach dem Login kopieren

Dieser Ansatz iteriert durch jedes Schlüssel-Wert-Paar in den FormData Objekt und fügt sie einem neuen JavaScript-Objekt hinzu. Anschließend wird die Methode JSON.stringify() verwendet, um das Objekt in einen JSON-String zu konvertieren.

Update: ES6-Pfeilfunktionen

Für diejenigen, die die ES6-Syntax bevorzugen, ist die Dieselbe Lösung kann mit Pfeilfunktionen geschrieben werden:

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

Update 2: Unterstützung für Formularelemente mit mehreren Werten

Zur Unterstützung von Formularelementen mit mehreren Werten, z. B. Multi -select-Listen, der folgende Code kann verwendet werden:

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);
Nach dem Login kopieren

Update 3: Direkte Übermittlung über XMLHttpRequest und Fetch API

Senden von FormData direkt an einen Server ohne Konvertierung ist mit dem XMLHttpRequest-Objekt oder der Fetch-API möglich:

<code class="javascript">var request = new XMLHttpRequest();
request.open('POST', 'http://example.com/submitform.php');
request.send(formData);</code>
Nach dem Login kopieren
<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: JSON-Serialisierung komplexer Objekte

Benutzerdefinierte Serialisierungslogik kann für komplexe Objekte definiert werden Objekte über die toJSON()-Methode.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich HTML5 FormData in JSON?. 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
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!