Выполнение запроса AJAX на веб-сайте, который может быть включен или может быть недоступен - PullRequest
1 голос
/ 06 августа 2009

Я пишу небольшое приложение, которое будет использоваться для мониторинга состояния нескольких веб-сайтов, главным образом просто для того, чтобы сообщать, какие веб-сайты онлайн, а какие нет.

В настоящее время у меня есть этот код в виде функции onreadystatechange :

if(xmlhttp.readyState == 4) {
    if (xmlhttp.status == 200) {
        element(id).innerHTML = "Online";
    }
    else {
        element(id).innerHTML = "Offline";
    }
}

Он работает правильно, когда веб-сайт находится в сети, но он никогда не достигает блока else, если я выполняю запрос AJAX на веб-сайте, который находится в автономном режиме.

Какие-либо предложения о том, как перехватить запрос AJAX на автономном веб-сайте?

Ответы [ 4 ]

1 голос
/ 07 августа 2009

Объект IE8 XHR поддерживает событие ontimeout (http://msdn.microsoft.com/en-us/library/cc197061(VS.85).aspx)

ReadyState = 4 означает «загружен», что не произойдет, если контент не загружается.

1 голос
/ 06 августа 2009

То, что вы хотите сделать, это отменить запрос через определенное время, то есть timeout . Вот статья, которая должна помочь:

Асинхронные запросы по ненадежной сети

0 голосов
/ 06 августа 2009

Вы можете проверить заголовок на ошибку 404.

0 голосов
/ 06 августа 2009

Я только что проверил сейчас, используя Fiddler , и он вернул Статус 502, Тело 512

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...