ajax, setRequestHeader () Content-Type " application/x-www-form-urlencoded und charset

Ich habe Schwierigkeiten zu verstehen, wie legen Sie den Zeichensatz, wenn der
content-type nicht text/html, text/plain oder text/xml, aber ist application/x-www-form-urlencoded content-type statt.

Angesichts dieser (vereinfachten) javascript code:

var xhr = new XMLHttpRequest();

Wenn ich nicht explizit die Codierung,

xhr.open('POST', 'serv.php', true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

firebug sagt mir, dass der Inhalt
Typ ist "application/x-www-form-urlencoded; charset=UTF-8."

Wenn ich den charset auf ISO-8859-1 zum Beispiel,

xhr.open('POST', 'serv.php', true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');

firebug noch sagt mir, "application/x-www-form-urlencoded; charset=UTF-8."

Wenn ich versuche so etwas wie

xhr.setRequestHeader('Content-Type', 'text/plain; charset=ISO-8859-1');

dann respektiert es die charset.

In allen Fällen kann die send () - Methode geht so:

xhr.send('id=9&name=Yoda');

Warum nicht die Ehre-charset, die ich angeben wenn die Content-Type x-www-form-urlencoded?

HINWEIS: ich verwende ISO-8859-1 nur als Beispiel. Mein Ziel ist es, zu verstehen, was Los ist.

Schreibe einen Kommentar