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에서 이러한 유형의 변경사항을 확인할 수 있습니다.