У меня есть функция javascript, которая вызывает универсальную функцию для вызова ajax-сервера. Мне нужно получить результат (true / false) из функции обратного вызова вызова ajax, но результат, который я получаю, всегда «неопределен».
Супер-упрощенная версия универсальной функции без всей моей логики будет:
function CallServer(urlController) {
$.ajax({
type: "POST",
url: urlController,
async: false,
data: $("form").serialize(),
success:
function(result) {
if (someLogic)
return true;
else
return false;
},
error:
function(errorThrown) {
return false;
}
});
}
И функция, вызывающая его, будет выглядеть примерно так:
function Next() {
var result = CallServer("/Signum/TrySave");
if (result == true) {
document.forms[0].submit();
}
}
Переменная «result» всегда имеет значение «undefined», и при ее отладке я вижу, что выполняется строка «return true» функции обратного вызова.
Есть идеи, почему это происходит? Как я мог bubble вернуть значение из функции обратного вызова в функцию CallServer?
Спасибо