Aqui você achou que tínhamos terminado de melhorar o XHR.
Já faz algum tempo que o método send()
sobrecarregado do XHR2 era compatível com o envio de uma ArrayBuffer
(uma matriz de bytes brutas).
O Chrome 22 (Canário atual) suspendeu o uso desse recurso. Ele será substituído pelo envio de ArrayBufferView
s. Matrizes tipadas JS são apenas ArrayBufferView
s especiais. Isso significa que agora é possível enviar uma matriz tipada diretamente por toda a rede, sem tocar no buffer subjacente. Essa mudança está alinhada às atualizações recentes da especificação XMLHttpRequest2 (em inglês).
Por exemplo, em vez de enviar um 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);
Basta enviar a matriz tipada:
xhr.send(uInt8Array);
O envio de ArrayBuffers
será removido, mas, por enquanto, você receberá avisos no console ao tentar enviar um buffer.
Como sempre, acompanhe esses tipos de alterações acessando chromestatus.com.