Задал вопрос на
stackoverflow, но не смогли ответить. Потому обратился к КЫВТу.
У меня есть страница, через которую пользователь может перегрузить сервер. По нажатию кнопки "reboot" сервер идет в ребут, а пользователю показывается страница с "rebooting please wait...".
Я хочу, чтобы после перезагрузки страница "rebooting please wait..." сменилась на главную страницу сервера. Ниже моя попытка это сделать.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Rebooting, please wait...</title>
<script type="text/javascript">
function checkPageReady() {
var request = new XMLHttpRequest();
request.open('POST', '/', true);
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200)
window.location = '/';
};
request.send(null);
}
function checkPageReadyInLoop() {
setInterval(checkPageReady, 1000);
}
</script>
</head>
<body onload="setTimeout(checkPageReadyInLoop, 10000);">
Rebooting, please wait...
</body>
</html>
Стриница ждет 10 секунд, после чего раз в секунду начинает пинговать сервер Ajax запросы. Как только сервер доступен, идет редирект на главную страницу
Наблюдая за процессом через Chrome Developer Tools я вижу, что Ajax запросы не отсылаются совсем!
Если же я делаю фейк-ребут (то есть сервер на самом деле не перегружается), то все начинает работать.
Кто что посоветует?