Facebook身份验证登录不刷新页面

时间:2012-01-11 02:10:40

标签: javascript facebook-php-sdk facebook-authentication

我正在使用PHP SDK 3.x.x和Javascript SDK的混合登录Facebook身份验证。当我们单击登录按钮时,会出现窗口,并在填写凭据并提交后不刷新页面。 FB.Event.subscribe('auth.login')似乎没有触发。有什么问题?

window.fbAsyncInit = function() {
FB.init({
     appId   : '<?php echo $facebook->getAppId(); ?>',
     oauth  : true, // check login status
     cookie  : true, // enable cookies to allow the server to access the session
     xfbml   : true // parse XFBML
 });

// whenever the user logs in, we refresh the page
FB.Event.subscribe('auth.login', function(response) {
    window.location.reload();
});

FB.Event.subscribe('auth.logout', function(response) {
    window.location.reload();
});


};

(function() {
 var e = document.createElement('script');
 e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
 e.async = true;
 document.getElementById('fb-root').appendChild(e);
}());

1 个答案:

答案 0 :(得分:0)

据我所知,这个登录过程是使用AJAX处理的,这就是为什么页面被部分刷新的原因。我不知道你面临的问题是什么。在我的解决方案中,我在页面的第一页使用了这个登录过程,并根据fb $ user和$ user_profile定义变量和会话。后来使用此变量更新页面的其他部分。 由于事件未被触发,您应该检查js并使用fb示例来了解他们的sdk如何工作 希望这对你有帮助。