도착했습니다! xhr.send(ArrayBufferViews)

에릭 비델만

우리는 XHR을 개선했다고 생각했습니다.

한동안 XHR2의 오버로드된 send() 메서드는 ArrayBuffer (원시 바이트 배열) 전송을 지원했습니다.

Chrome 22 (현재 카나리아)에서는 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 페이지를 방문하여 이러한 유형의 변경사항을 계속 확인할 수 있습니다.