0
我在這個非常小的問題上掙扎了1.5個小時。 情況:文件A - >對文件B的請求,如果文件B返回true,則用戶被註冊並且不需要被添加到我們的數據庫中。如果爲false,則用戶登錄Facebook,但從未登錄 - >添加到數據庫。FB.api()方法可以防止返回真或假
我的問題:FB.api()阻止我的函數由於異步調用返回true。
function registered(){
FB.api('/me', function(response) {
$.ajax({
async: true,
url: "facebook-sdk/src/check.php",
type: "POST",
data: {id: response.id},
success: function(data) {
if(data=='true'){
return true;
}else{
return false;
}
}
});
});
}
而且我調用該函數:
if(registered())
alert('true');
else
register();
我想你誤解了我一點點。我的問題是,當我在if(data =='true')中返回true時,由於異步(FB.api())而調用該函數時,它將返回false,我該如何編輯此函數以便它將返回真正? – Jordy
@Jordy看到我更新的答案。你的意思是這樣的..? –
感謝您的幫助,稍微修改了您的代碼以使其正常工作!從來不知道Javascript中的回調選項。你能解釋你的第二個函數名嗎?在編輯已註冊(功能(響應))後才能正常工作 – Jordy