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