Angekommen! xhr.send(ArrayBufferViews)

Eric Bidelman

Und hier dachten Sie, wir hätten die XHR verbessert!

Seit einiger Zeit unterstützt die überlastete send()-Methode von XHR2 das Senden eines ArrayBuffer (ein Rohbyte-Array).

In Chrome 22 (aktuelle Canary-Version) wird diese Funktion eingestellt. Stattdessen wird sie durch das Senden von ArrayBufferView-Werten ersetzt. JS Typed Arrays sind nur spezielle ArrayBufferViews. Das bedeutet lediglich, dass du jetzt ein typisiertes Array direkt über die Leitung senden kannst, ohne den zugrunde liegenden Puffer zu berühren. Diese Änderung entspricht den neuesten Aktualisierungen der Spezifikation "XMLHttpRequest2".

Statt ein ArrayBuffer zu senden, können Sie beispielsweise so vorgehen:

var xhr = new XMLHttpRequest();
xhr.open('POST', '/server', true);
xhr.onload = function(e) { ... };

var uInt8Array = new Uint8Array([1, 2, 3]);

xhr.send(uInt8Array.buffer);

Senden Sie einfach das typisierte Array selbst:

xhr.send(uInt8Array);

Das Senden von ArrayBuffers wird nach und nach entfernt. Bis auf Weiteres werden Konsolenwarnungen angezeigt, wenn Sie versuchen, einen Puffer zu senden.

Wie immer können Sie sich über diese Änderungen informieren, indem Sie chromestatus.com folgen.