XHR の改善はこれで終わりかと思いきや、
しばらくの間、XHR2 のオーバーロードされた send()
メソッドは、ArrayBuffer
(未加工のバイト配列)の送信をサポートしてきました。
Chrome 22(現在の Canary)では、この機能は非推奨となり、代わりに ArrayBufferView
の送信に置き換えられます。JS 型付き配列は特別な ArrayBufferView
にすぎないため、実際には、基盤となるバッファに触れることなく、型付き配列をワイヤーを介して直接送信できるようになりました。この変更は、XMLHttpRequest2 の仕様の最近の更新に合わせて行われています。
たとえば、ArrayBuffer
を送信する代わりに、次のようにします。
var xhr = new XMLHttpRequest();
xhr.open('POST', '/server', true);
xhr.onload = function(e) { ... };
var uInt8Array = new Uint8Array([1, 2, 3]);
xhr.send(uInt8Array.buffer);
型付き配列自体を送信します。
xhr.send(uInt8Array);
最終的には ArrayBuffers
の送信は削除されますが、当面はバッファの送信時にコンソール アラートが表示されます。
このような変更については、chromestatus.com で最新情報をご確認ください。