已抵達!xhr.send(ArrayBufferViews)

Eric Bidelman

您認為我們改善了 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 追蹤這類變更。