주의하세요. XMLHttpRequest.responseType
가 설정된 경우 동기식 요청을 전송하지 못하도록 XMLHttpRequest2 사양이 최근에 변경되었습니다. 이 변경사항의 목적은 가능한 경우 동기 xhr의 추가 사용을 완화하는 것입니다.
예를 들어 이제 다음 코드는 Chrome 및 FF의 개발자 채널 빌드에서 INVALID_ACCESS_ERR
을 발생시킵니다.
var xhr = new XMLHttpRequest();
xhr.responseType = 'arraybuffer';
xhr.open('GET', '/', false); // sync request
xhr.send();
WebKit 버그, Mozilla 버그를 참고하세요.
동기식 XHR은 여러 가지 이유로 좋지 않지만 MSDN의 블로그 게시물인 'XMLHttpRequest를 비동기식으로 사용해야 하는 이유'에서 이 문제에 대해 자세히 설명합니다.
이는 일반적으로 웹에 좋은 변화이지만 동기식 동작에 의존하는 일부 기존 앱이 손상될 수 있습니다. 비동기 요청을 사용하도록 XHR 코드를 검토하고 최대한 빨리 업데이트하세요.