Приехал! xhr.send(ArrayBufferViews)

И вот вы подумали, что мы закончили улучшать XHR!

Уже некоторое время перегруженный метод send() XHR2 поддерживает отправку 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 .