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. Das ist lediglich eine Verwaltungsstruktur für Formulardaten. Daten gemäß einem bestimmten Content-Type im HTTP-Sinne entsteht erst bei weiterer Verarbeitung anderenorts, beispielsweise beim Aufruf von XMLHttpRequest.send() oder oben gezeigtem Code oder new URLSearchParams(form).toString().
Array.from()..
muss ich mir anschauen.
Array.from() ist nur ein Hilfskonstrukt, um aus einer iterierbaren Sequenz ein richtiges Array zu bekommen, auf das man dann Array-Methoden wie die hier verwendeten map() und join() anwenden zu können.
dedlfix.