Избавление от синхронных XHR

Берегись! Спецификация XMLHttpRequest2 недавно была изменена, чтобы запретить отправку синхронного запроса, если установлен XMLHttpRequest.responseType . Идея изменения заключается в том, чтобы помочь смягчить дальнейшее использование синхронных xhrs, где это возможно.

Например, следующий код теперь выдаст INVALID_ACCESS_ERR в сборках каналов разработчиков Chrome и FF:

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

См. «Ошибка WebKit» , «Ошибка Mozilla».

Синхронные XHR плохи по ряду причин, но сообщение в блоге MSDN « Почему следует использовать XMLHttpRequest асинхронно » содержит отличное объяснение проблем.

В целом это большое изменение для Интернета, но оно может сломать некоторые существующие приложения, которые полагались на синхронное поведение. Пожалуйста, просмотрите свой код XHR и обновите его как можно скорее, чтобы использовать асинхронные запросы.