0
我有一个用户可以重新启动服务器的网页。一旦用户点击“重新启动”按钮,他会看到一个临时页面,提示“重新启动,请稍候......”。服务器脱机时不发送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>
基本上页面等待10秒,并开始查验与Ajax请求每秒服务器。当服务器响应显示主页面时。
但是我通过Chrome开发者工具看到的是,当服务器处于脱机状态(例如重新启动)没有Ajax请求被发送过。如果我假装重新启动(所以服务器没有脱机)一切正常。有任何想法吗?