Показать сообщение отдельно
  #1 (permalink)  
Старый 20.09.2014, 13:35
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Как очистить таймер, если сервер вернул ответ?
По истечении 10 секунд скрипт должен выдать ошибку, если нет ответа от сервера. Если же ответ есть, таймер должен быть очищен. Но этого не происходит. Что тут не так?
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob';
xhr.onreadystatechange = function(){
if(xhr.readyState != 4) return;
clearTimeout(timeout);
if(xhr.status != 404){
//какой-то код
} else {
console.log(xhr.readyState);
}
}
xhr.send();
var timeout = setTimeout(function(){
xhr.abort();
console.log("Сервер не отвечает.");
},10000);
Ответить с цитированием