我正在實現Facebook連接進行身份驗證。我也想驗證我從facebook收到的用戶的電子郵件與內部數據庫(本質上是邀請列表)匹配。所以我使用下面的ajax調用。但是,重定向不會立即發生。用戶需要刷新窗口才能重定向。任何想法爲什麼以及如何解決這個問題?謝謝! 請注意,這發生在FB.api中,而FB.api又在window.fbAsyncInit中。在Ajax響應沒有立即重定向後使用window.location.replace
$.ajax({
type: "POST",
url: "verifyLogin.php",
data: ("email=" + myEmail),
success: function(resp){
if (resp == 'success')
{
window.location.replace('/index.php');
}
},
error: function(e){
alert('Error: ' + e);
}
});
爲什麼不只是window.location =「yoursite.com/index.php」? – peshkira 2012-08-01 22:10:44
@peshkira - 這也行不通。用戶仍然需要刷新。請注意,用戶登錄一次後,當他們進入此頁面時,自動重定向工作正常。它僅適用於用戶第一次登錄的情況。 – tterbeg 2012-08-01 23:17:30
好吧,所以我用下面的功能,它現在的作品。仍然不知道爲什麼Ajax響應無效,現在必須更改代碼以確認該函數的電子郵件地址匹配。謝謝您的幫助! FB.Event.subscribe('auth.login',function(response){ window.location.replace('index.php'); }); – tterbeg 2012-08-01 23:30:10