חשבתם שסיימנו לשפר את 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.