Synchrone XHRs loswerden

Achtung! Die XMLHttpRequest2-Spezifikation wurde vor Kurzem geändert, um das Senden einer synchronen Anfrage zu verhindern, wenn XMLHttpRequest.responseType festgelegt ist. Ziel der Änderung ist es, die weitere Verwendung synchroner XHRs nach Möglichkeit einzuschränken.

Mit dem folgenden Code wird beispielsweise jetzt eine INVALID_ACCESS_ERR in den Builds des Entwicklerkanals von Chrome und FF geworfen:

var xhr = new XMLHttpRequest();
xhr.responseType = 'arraybuffer';
xhr.open('GET', '/', false); // sync request
xhr.send();

Weitere Informationen finden Sie unter WebKit-Fehler und Mozilla-Fehler.

Synchrone XHRs sind aus mehreren Gründen schlecht. Im MSDN-Blogpost Why You Should Use XMLHttpRequest Asynchronously (Warum Sie XMLHttpRequest asynchron verwenden sollten) werden die Probleme ausführlich erläutert.

Das ist im Allgemeinen eine gute Änderung für das Web, kann aber zu Fehlfunktionen bei einigen bestehenden Apps führen, die auf synchronem Verhalten basieren. Bitte prüfen Sie Ihren XHR-Code und aktualisieren Sie ihn so bald wie möglich, damit asynchrone Anfragen verwendet werden.