#jquery #ajax
#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.
Я хочу, чтобы функция возвращала true, если функция ajax успешно подключается к серверу.
Как я могу это сделать?
Ответ №1:
Вы можете сделать это с помощью обратных вызовов, а также сделать его асинхронным
В функции CheckServerStatus зарегистрируйте 2 параметра
1-й будет обработчиком успеха
и 2-й обработчик ошибок
а затем подключите каждый из них с помощью $.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');
}
)
}