Đã đến! xhr.send(ArrayBufferViews)

Eric Bidelman

Và bạn nghĩ chúng ta đã cải thiện xong XHR!

Tạm thời phương thức send() quá tải của XHR2 đã hỗ trợ gửi một ArrayBuffer (mảng byte thô).

Chrome 22 (Canary hiện tại) sẽ ngừng sử dụng tính năng này bằng cách thay thế bằng cách gửi các ArrayBufferView. Mảng được nhập JS chỉ là các ArrayBufferView đặc biệt, vì vậy, tất cả điều này thực sự có nghĩa là giờ đây bạn có thể gửi trực tiếp một mảng đã nhập qua dây mà không cần chạm vào vùng đệm cơ bản. Thay đổi này phù hợp với nội dung cập nhật gần đây đối với thông số kỹ thuật XMLHttpRequest2.

Vì vậy, chẳng hạn như thay vì gửi một 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);

Chỉ cần gửi chính mảng đã nhập:

xhr.send(uInt8Array);

Cuối cùng, việc gửi ArrayBuffers sẽ bị xoá. Tuy nhiên, hiện tại, bạn sẽ nhận được cảnh báo trong bảng điều khiển khi tìm cách gửi vùng đệm.

Như thường lệ, bạn có thể cập nhật những loại thay đổi này bằng cách theo dõi chromestatus.com.