Tach!
Enctype application/x-www-form-urlencoded
Geht als Einzeiler:
const form = new FormData(); form.append('foo', 'bar'); form.append('qux', 'baz'); const serialized = Array.from(form) .map(field => `${encodeURIComponent(field[0])}=${encodeURIComponent(field[1])}`) .join('&');
Nein geht nicht als Einzeiler. FormData liefert einen ganz anderen Content-Type (Enctype siehe obenstehend).
Doch, doch, das Ergebnis ist genau dasselbe. Und DormData liefert überhaupt keinen Content-Type.
Da bist Du völlig falsch informiert.
Das ist lediglich eine Verwaltungsstruktur für Formulardaten.
Das ist Unsinn. Schau Dir bitte hier an, welchen Content-Type FormData liefert und wie FormData die Daten serialisiert.
Daten gemäß einem bestimmten Content-Type im HTTP-Sinne entsteht erst bei weiterer Verarbeitung anderenorts,
OOP Overload ist hierzu das Zauberwort. Und genau das funktioniert auch nur weil die Daten bereits gemäß dem Enctype multipart/form-data in der FormDatainstanz vorliegen.
beispielsweise beim Aufruf von XMLHttpRequest.send()
Nein. Richtig wäre xhr.send(FormDatainstanz); Die Instanz wird übergeben!
Hier wird implizit aus der Instanz ein String gemacht: Aufgrund des String-Kontext greift hier das Overload.
MfG