实现FB注销时Fb.Connect未定义错误

时间:2011-04-08 06:30:55

标签: php javascript django facebook facebook-graph-api

我正在尝试为我的django应用实现facebook注销功能。 Facebook登录对我来说很好。现在我需要以某种方式注销并清除会话。我试图用下面的代码,但它抛出'FB.Connect未定义'错误。有人可以请看我的代码并给我一个解决方案吗?

    <html xmlns:fb="http://www.facebook.com/2008/fbml">
     <div id="fb-root"></div>
     <script src="http://connect.facebook.net/en_US/all.js"></script>
     <script>
       FB.init({
         appId  : 'xxx',
         status : true, // check login status
         cookie : true, // enable cookies to allow the server to access the session
         xfbml  : true  // parse XFBML
       });
     </script>
        <script>
            function logout(){
            FB.logout(function(response) {
  // user is now logged out
  location.href = '/user_sessions/new';
});}

            // handle a session response from any of the auth related calls
            function handleFBSessionResponse(response) {
                /*
                //Check the facebook login status
                alert("handleFBSessionResponse(), "
                 + "\nresponse.status="+response.status
                 +" \nresponse.session="+response.session
                 +" \nresponse.perms="+response.perms);
                */

                //if we do have a non-null response.session, call FB.logout(),
                //the JS method will log the user out
                //of Facebook and remove any authorization cookies
                FB.logout(handleFBSessionResponse);
            }


            </script>
            <a href="javascript:logout();">Logout</a >

或者是否有任何其他直接简单的方法来实现它,如果是这样,请在此处发布该代码。

2 个答案:

答案 0 :(得分:1)

FB.logout(handleFBSessionResponse);

你在内部传递回调函数似乎很奇怪。尝试做那样的事情:

FB.logout(function(response) {
  // user is now logged out
  location.href = '/user_sessions/new';
});

并删除代码中的其他location.href引用。

答案 1 :(得分:0)

我使用了这个

<a href="http://m.facebook.com/logout.php?confirm=1&next=http://10.1.0.90:8080/registrationForm" >Sign Out</a>