$.ajax
является асинхронным. Это означает, что он сразу же вернется, вместо того, чтобы ждать выполнения запроса AJAX и получения результата с сервера. К тому времени, как приходит сообщение от сервера, ваша функция ajaxIt
уже работает.
То, что вы должны использовать здесь, это стиль передачи продолжения. Предоставьте ajaxIt
продолжение : функцию, которая объясняет, что следует делать после завершения работы ajaxIt
.
function ajaxIt(data, continuation) {
data.ajax = true;
$.post("ajax;php", data, function(msg) {
console.log("[AjaxIt]: returned "+msg);
continuation(msg);
});
}
ajaxIt({action:"logged-in"}, function(result) {
if (result == "1") {
console.log("Logged In");
loggedIn=true;
initiate2();
}
});