Uwaga! Niedawno zmieniliśmy specyfikację XMLHttpRequest2, aby zabronić wysyłania żądania synchronicznego, gdy ustawiona jest wartość XMLHttpRequest.responseType
. Celem tej zmiany jest ograniczenie używania synchronicznych żądań XHR, o ile to możliwe.
Na przykład ten kod spowoduje wygenerowanie komunikatu INVALID_ACCESS_ERR
w kompilacji Chrome i Firefox na kanale dla deweloperów:
var xhr = new XMLHttpRequest();
xhr.responseType = 'arraybuffer';
xhr.open('GET', '/', false); // sync request
xhr.send();
Zobacz błąd WebKit i błąd Mozilla.
Synchroniczne żądania XHR są niekorzystne z wielu powodów, ale w poście na blogu MSDN Dlaczego warto używać asynchronicznego żądania XMLHttpRequest znajdziesz świetne wyjaśnienie tych problemów.
Jest to ogólnie dobra zmiana dla internetu, ale może spowodować awarię niektórych istniejących aplikacji, które działały w sposób synchroniczny. Sprawdź kod XHR i jak najszybciej go zaktualizuj, aby używać żądań asynchronicznych.