我有一个小问题,我想检查一个用户是否通过AJAX POST登录到PHP然后运行其余的函数,不幸的是该函数的其余部分是正在运行,没有等待AJAX完成..所以这是个坏消息JavaScript没有等待AJAX请求完成运行
function checkLogin() {
dat = 'chl=1&x='+Math.random();
$.ajax({
url: "/action.php",
type: "POST",
data: dat,
success: function(data) {
if (data)
return data;
return 0;
},
error: function(data) {
console.log('err'+data);
return;
}
});
}
function anotherFunction() {
logged = checkLogin(); // is the user logged in?
if (logged) {
// do other stuff
console.log('Logged in');
} else {
console.log('Not logged in..');
}
}
所以这是我的问题,它说记录是不确定的..有没有解决这个,除了使用setTimeout的,更多的东西“自然“在等待的时间?
我建议将'if(logged)'逻辑放入AJAX“成功”回调中。 – showdev