Ich habe eine Webseite, mit der Benutzer seinen Server neu starten können. Sobald der Benutzer auf "rebooten" klickt, sieht er eine temporäre Seite mit der Aufschrift "Neustart bitte warten ...".Ajax Anfrage nicht gesendet, wenn der Server offline ist
Ich möchte diese "Neustart ..." Seite automatisch überprüfen, ob der Server neu gestartet wird und den Benutzer auf die Hauptseite umleiten, sobald der Server wieder online ist. Unten ist mein Versuch, dies zu erreichen: jede Sekunde
<!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>
Grundsätzlich ist die Seite wartet 10 Sekunden und startet Pingen Sie den Server mit Ajax-Anfrage. Wenn der Server antwortet, wird die Hauptseite angezeigt.
Allerdings sehe ich über Chrome Developer Tools, dass während der Server offline ist (z. B. Neustart), keine Ajax-Anfragen gesendet werden. Wenn ich den Neustart vortäusche (damit der Server nicht offline geht), funktioniert alles einwandfrei. Irgendwelche Ideen?