Не получается скачать файл с сервера. Сервер выдает коды состояния в консоль в таком порядке(readyState, status):
2 200 - сервер ответил
3 200 - файл загружается
4 200 - файл скачался
Когда получаю состояние 2, очищаю таймер, затем ожидаю состояния 4. Но этот код почему то не работает. Что я не так делаю?
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob';
var timeout = setTimeout(function(){
xhr.abort();
console.log( "Сервер не отвечает.");
},5000);
xhr.onreadystatechange = function(){
console.log(xhr.readyState,xhr.status); // показать код состояния и статуса
if(xhr.readyState != 2) return;
clearTimeout(timeout);
if(xhr.readyState == 4){
if(xhr.status == 200){
// скачать файл. Этот код не выполняется
} else {
// вывести ошибку
}
}
}