Обновление: сервер может быть в автономном режиме, и OP хочет повторить попытку при истечении времени ожидания Ajax.
Чтобы «исправить» эту проблему, вы можете заключить оператор http.send()
в блок try-catch
,например:
...
try {
http.send();
} catch(e) {
//e.name would be "NetworkError" if the server is offline.
console.log(e);
}
Если обнаружен «NetworkError», обнаружен отключенный сервер, а через некоторое время можно повторить запрос Ajax.
В этом есть 3 проблемыпроблема:
Согласно скриншоту ошибки (net::ERR_CONNECTION_TIMED_OUT
), целевой сервер (http://192.168.1.10/
) не отвечает.Пожалуйста, проверьте, доступен ли он.
В коде Content-Type
определяется как application/x-www-form-urlencoded
, что означает, что форма отправлена.Однако Ajax-запрос - это запрос GET
без какой-либо логики отправки данных.Это довольно странная комбинация, от которой может отказаться логика браузера или сервера.Если вы просто хотите поиграть с запросом Ajax GET, нет необходимости настраивать Content-Type.
Событие load
(http.onload
в вопросе) XMLHttpRequest
не поддерживается хорошо , пожалуйста, используйте onreadystatechange
, предложенный @ Katie.