คุณคงคิดว่าเราปรับปรุง 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