javascript - 如何检测服务器是否关闭?

标签 javascript shutdown

如何检测客户端访问javascript页面时服务器是否关闭?

带有永远保持事件 header 的请求可以做到这一点,但问题是即使用户离开页面也会触发。

最佳答案

也许这是一种有点幼稚的方法,但是当 ajax 调用失败时,您可以计算响应 header 的数量。例如,使用 jQuery,您可以这样做:

$.ajax( {
    'url': urlToTheServer,
    'success': function()
    {
        // server is up
    },
    'error': function( $xhr )
    {
        if( $xhr.getAllResponseHeaders().length < 1 )
        {
            // fair probability server is down
        }
    }
} );

我在我的开发箱上测试这个的方法是将上面的内容包装在 setTimeout() 调用中(比如 10 秒超时)。加载页面。关闭服务器。然后等待超时,再做ajax请求。

PS.: $xhr.getAllResponseHeaders() 返回以换行符分隔的标题字符串,而不是标题数组或对象。起初我忽略了这一点,但是,这不会改变脚本的结果。如果 $xhr.getAllResponseHeaders() 的字符串长度小于 1,则不存在响应 header 。

关于javascript - 如何检测服务器是否关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14852989/

相关文章:

javascript - 属性或方法 "close"未在实例上定义,但在渲染期间引用。确保该属性是 react 性的

javascript - svg中的base64图像第一次不显示

java - 允许在立即启用 JMX 监控的情况下重新启动 Java 应用程序

windows - 如何在 Windows 上通过 CMD Prompt 发送关机命令以进行处理

Linux ACPI 配置

javascript - Node.js createReadStream 错误处理

Javascript 对象字面量从另一个属性本身引用另一个属性

javascript - 在 javascript 中替换 HTML5 视频 src 字符串不会替换视频

eclipse-plugin - 让 Eclipse 在关闭时执行操作

java - Java 中的 addShutDownHook 和 signal Handler 有什么区别?