1unitedpower: Request-Header Content-Type und XHR

Beitrag lesen

Und schon gar nicht den Enctype selbst erraten.

Es wird nichts geraten, das Verhalten ist so spezifiziert.

xhr errät aus x=y den Content-Type text/plain; charset=UTF-8 und sendet diesen Header spontan im Request.

Es wird nichts geraten, das Verhalten ist so spezifiziert.

Ein HTML <form method="POST">, also ohne Angabe des Enctype sendet den Default Content-Type mit demselben Payload x=y.

  • Wenn ein Formular kein enctype-Attribut hat, wird beim Senden des Formulars implizit application/x-www-form-urlencoded als Kodierung gewählt.

  • Wenn man XMLHttpRequest.prototype.send mit einem URLSearchParams-Objekt aufruft, dann wird implizit application/x-www-form-urlencoded als Kodierung gewählt.

  • Wenn man XMLHttpRequest.prototype.send mit einem USVString aufruft, dann wird implizit text/plain als Kodierung gewählt.

Die send-Methode ist überladen. Je nach Typ des Parameters wird eine passende Kodierung gewählt. Welche Kodierung gewählt wird, musst du nicht raten, du kannst es in der Spezifikation nachlesen. Spätestens nachdem du das zweite Mal damit auf die Nase gefallen bist, solltest du das mal in Erwägung ziehen.

Man könnte also durchaus erwarten, daß sich xhr genauso wie ein Browser verhält, was jedoch definitiv nicht der Fall ist. Siehe Spezifikation (Link weiter oben).

Man könnte auch einfach mal 10 Minuten Handbuch lesen, anstatt ewig im Dunklen zu stochern.

Du müsstest dir einfach mal die Mühe machen, den Links zu folgen und die Spezifikationen zu lesen, die dir nahegelegt werden.

Ich denke eher daß sich die Entwickler von xhr und Browser mal damit befassen sollten um hier ein einheitliches Verhalten vorzulegen.

Erstens, lies die Spezifikation bevor du sie kritisierst. Zweitens, kritisier die Spezifikation inhaltlich, nicht ihre Autor*innen.