您認為我們改善了 XHR!
目前一段時間 XHR2 的超載 send()
方法支援傳送 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 追蹤這類變更。