首页 > 解决方案 > Jquery - 检查是否有与 ajax 的服务器连接

问题描述

我正在使用 JQuery 编写一个网络应用程序。我想在处理内容之前检查代码是否可以访问服务器。这是我的功能:

function CheckServerStatus() {
    $.ajax({
        url: "website.asmx/CheckStatus",
        async:false
        success: function() {return true;}
        error: function() {return false;}
    });
}

在服务器端代码中,CheckStatus函数返回 1。函数调用如下:

function RunProcess() {
    if (CheckServerStatus()) {
        //Do work
    }
    else {
        //create alert
    }
}

每次调用该函数。该函数CheckServerStatus返回false。

如果 ajax 函数成功连接到服务器,我希望函数返回 true。

我怎样才能做到这一点?

标签: jqueryajax

解决方案


你可以用回调来做,也可以让它异步

在函数 CheckServerStatus 中注册 2 个参数

第一个将是成功处理程序

第二个是errorHandler

然后用 $.ajax 成功和错误回调连接每一个

function CheckServerStatus(successHandler,errorHandler) {
   $.ajax({
            url: "website.asmx/CheckStatus",
            async:true,
            success: successHandler,
            error: errorHandler
        });
}

 function RunProcess() {
    CheckServerStatus(

        function(){
            alert('we will do work here');
        }, 
        function(){
            alert('failed to connect');
        }
    )
 }

推荐阅读