تم الوصول! xhr.send(ArrayBufferViews)

إيريك بيدلمان

برأيك، لقد انتهينا من تحسين XHR.

لفترة من الوقت الآن تسمح طريقة send() المحملة الزائد في XHR2 بإرسال ArrayBuffer (صفيف بايت غير معدَّل).

سيوقف Chrome 22 (إصدار Canary الحالي) هذه الميزة نهائيًا من خلال استبدالها بإرسال ArrayBufferView بدلاً من ذلك. "مصفوفات JavaScript المكتوبة هي مجرد مصفوفة 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.