ユーザーがサーバーを再起動できるWebページがあります。ユーザーが「再起動」ボタンをクリックすると、「再起動してください...」という一時的なページが表示されます。サーバーがオフラインのときにAjaxリクエストが送信されない
この「再起動中」ページでは、サーバーが再起動して、サーバーが再びオンラインになったときにユーザーをメインページにリダイレクトするかどうかを自動的に確認します。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
\t <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
\t <title>Rebooting, please wait...</title>
\t <script type="text/javascript">
\t function checkPageReady() {
\t \t var request = new XMLHttpRequest();
\t \t request.open('POST', '/', true);
\t \t request.onreadystatechange = function() {
\t \t if (request.readyState == 4 && request.status == 200)
\t \t \t window.location = '/';
\t \t };
\t \t request.send(null);
\t }
\t function checkPageReadyInLoop() {
\t \t setInterval(checkPageReady, 1000);
\t }
\t </script>
</head>
<body onload="setTimeout(checkPageReadyInLoop, 10000);">
\t Rebooting, please wait...
</body>
</html>
ただし、Chromeデベロッパーツールで見ると、サーバーがオフライン(再起動など)中にAjaxリクエストが送信されることはありません。再起動を偽った場合(サーバがオフラインにならないように)、すべて正常に動作します。何か案は?