jquery - 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。
我怎样才能做到这一点?
解决方案
你可以用回调来做,也可以让它异步
在函数 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');
}
)
}
推荐阅读
- c++ - 计算c ++中mergesort算法中的交换次数
- ruby-on-rails - Rails ActiveStorage 存储到特定路径
- python - 在 sphinx-gallery 中捕获 Graphviz 图形
- lme4 - sim_slopes 是否考虑模型中的随机截距?
- android - 设置 Stripe 账单地址默认国家 Android SDK
- excel - Worksheet_Calculate:多个目标和值
- python - 我们可以在同一个 Django 服务器上同时运行 Socket Server 和 Socket Client 吗?
- azure-ad-b2c - MFA 和密码重置期间的 Azure B2C OTP 过期
- android-progressbar - 让进度条运行一段时间我在 Android Studio 中确定
- python - 如何打印图案?(面试题)