มาถึงแล้ว! 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