הגיע! xhr.send(ArrayBufferViews)

אריק בידלמן

וכאן חשבת שסיימנו לשפר את XHR!

כבר זמן מה בשיטת send() בעומס יתר של XHR2 יש תמיכה בשליחה של ArrayBuffer (מערך בייטים גולמיים).

מערכת Chrome 22 (גרסת Canary הנוכחית) מוציאה משימוש את התכונה הזו. במקום זאת, היא תוחלף בשליחה של ערכי ArrayBufferView. מערכים מסוג JS הם פשוט ArrayBufferViews מיוחדים, כך שמשמעות הדבר היא שעכשיו אפשר לשלוח מערך מוקלד ישירות לאורך הכבל, בלי לגעת במאגר הזמני הבסיסי שלו. שינוי זה תואם את העדכונים האחרונים במפרט 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.