gpt4 book ai didi

Javascript:根据服务器状态禁用按钮

转载 作者:行者123 更新时间:2023-12-03 11:44:49 24 4
gpt4 key购买 nike

我对 Javascript 非常陌生,我有一个按钮需要不断检查服务器是否处于 Activity 状态。

我正在使用基于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。

最佳答案

我从这个similar question and answer借了很多钱

基本代码在这里:

var isNotWorking = false;

var myFunc = function(){

$.ajax({url: "YOUR_URL_HERE",
type: "HEAD",
timeout:1000,
statusCode: {
200: function (response) {
//alert('Working!');
isNotWorking =false;
},
400: function (response) {
//alert('Not working!');
isNotWorking = true;
},
0: function (response) {
//alert('Not working!');
isNotWorking = true;
}
}
});

$('#mybutton').prop('disabled', isNotWorking);

doSetTimeOut();
}

var doSetTimeOut = function(){

setTimeout(function(){

myFunc();


}, 1000);

}


doSetTimeOut();

查看有效的 JS fiddle here

关于Javascript:根据服务器状态禁用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26105559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com