Uważasz, że ulepszyliśmy XHR.
Od jakiegoś czasu przeciążona metoda send()
XHR2 obsługiwała wysyłanie ArrayBuffer
(tablica nieprzetworzonych bajtów).
Chrome 22 (obecna wersja Canary) wycofuje tę funkcję i zastępuje ją wysyłaniem ArrayBufferView
. Tablice typu JS są po prostu specjalnymi układami ArrayBufferView
. Oznacza to, że można teraz wysyłać wpisaną tablicę bezpośrednio przez przewód bez dotykania jej bufora. Ta zmiana wiąże się z ostatnimi aktualizacjami specyfikacji XMLHttpRequest2.
Dlatego na przykład zamiast wysyłać 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);
Po prostu wyślij samą wpisaną tablicę:
xhr.send(uInt8Array);
Ostatecznie wysyłanie kodu ArrayBuffers
zostanie usunięte, ale na razie podczas próby wysłania bufora będziesz otrzymywać ostrzeżenia w konsoli.
Jak zawsze, możesz na bieżąco śledzić tego typu zmiany, zaglądając na stronę chromestatus.com.