我有一個小問題,我想檢查一個用戶是否通過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