Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查服务器状态时延迟。使用jquery_Javascript_Jquery_Ajax_File_Status - Fatal编程技术网

Javascript 检查服务器状态时延迟。使用jquery

Javascript 检查服务器状态时延迟。使用jquery,javascript,jquery,ajax,file,status,Javascript,Jquery,Ajax,File,Status,我有一个项目,我需要检查我的应用程序的服务器是否仍然在线。 经过长时间的搜索,我找到了一个有效的脚本。但并不完美。当我从服务器上拔下网络电缆时,我的应用程序需要15秒才能识别出服务器已关闭 该脚本查找文件ping.html,出于缓存原因,我需要将随机变量放在后面,我认为:p 有人知道如何解决延迟的问题吗 function ping(){ $.ajax({ cache: false, url: 'ping.html?myRa

我有一个项目,我需要检查我的应用程序的服务器是否仍然在线。 经过长时间的搜索,我找到了一个有效的脚本。但并不完美。当我从服务器上拔下网络电缆时,我的应用程序需要15秒才能识别出服务器已关闭

该脚本查找文件ping.html,出于缓存原因,我需要将随机变量放在后面,我认为:p

有人知道如何解决延迟的问题吗

function ping(){
           $.ajax({ 
           cache: false,
              url: 'ping.html?myRand=' + guid(), 
              success: function(result){ 
                 $('.conmessage').hide(); 
                 enable();

              },     
              error: function(result){ 
                  $('.conmessage').show();  
                  disable();
              }
           });
        }

    function s4() {
           return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
    }

    function guid() {
           return s4()+s4()+"-"+s4()+"-"+s4()+"-"+s4()+"-"+s4()+s4()+s4();
    }   

我想您应该在ajax调用中使用timeout属性(以毫秒为单位):

$.ajax({ 
              cache: false,
              url: 'ping.html?myRand=' + guid(), 
              timeout: 1000,
              success: function(result){ 
                 $('.conmessage').hide(); 
                 enable();

              },     
              error: function(result){ 
                  $('.conmessage').show();  
                  disable();
              }
           });

仅供参考,您的URL中不需要大量随机数,因为它在这台计算机上只需是唯一的。事实上,仅使用从当前时间派生的数字更简单、更简单。同意……只要使用UTC时间,时间将始终是唯一的