我对JavaScript很陌生,我有一个按钮需要经常检查服务器是否处于活动状态。Javascript:基于服务器状态的禁用按钮
我正在使用基于Java的Play框架。我已经有一个类ServerStatus返回一个服务是否健康,但我不知道如何链接到我的页面,其中包含按钮。
基本上,我想要的是,如果服务器宕机,那么我希望按钮被禁用,以便用户不能在服务器不可用时使用它。
我看了一下Websockets,看起来非常复杂。我不确定是否有更简单的方法。
编辑
使用的WebSockets:我有一个围绕阅读,似乎我需要使用的onMessage事件。我发现了一些示例代码,但我不知道如何将它放入我的(document).ready函数中。
下面我有一些代码:
$(document).ready(function(){
var WS = window['MozWebSocket'] ? MozWebSocket : WebSocket;
var chatSocket = new WS("routes");//This does not seem to accept any @routes
var lastState = 'unknown';
chatSocket.onmessage = function(e){
var server_message = e.data;
//do something here about enabling and disabling
console.log(server_message);
}
});
function disable()
{
//disable all buttons
}
function enable()
{
//enable all buttons
}
我失去了对如何在这里添加的WebSocket。
既可以使用的WebSockets,长轮询,SSE(服务器端事件)等等。对这些技术进行一些研究,看看最适合你的是什么。 – proulxs 2014-09-29 17:34:49
在上面的代码中,变量在就绪函数结束时超出了范围。所以这可能无法正确执行。我会建议将var声明移到函数之外。示例:var WS = null。然后在文档就绪函数中,可以在初始化之前删除var。我不太熟悉web套接字,但从JS视图来看,我至少会将var声明提升到一个水平。 – 2014-09-30 14:43:37