1

onclick イベントのある Facebook ログイン ボタンがあります。

<fb:login-button scope="email, user_about_me, user_birthday" onclick="login()">Login with Facebook</fb:login-button>

クリックした場合のコード:

function login(){
FB.getLoginStatus(function(response) {
   if (response.status === "connected") {
        FB.api({
            method: 'fql.query',
            query: 'SELECT name, email, pic_square FROM user WHERE uid=me()'
                },
        function(response) {
            var check = $.get("includes/facebook_login.php", {command:response[0].email, commandP:response[0].pic_square}, //check if users exist with some selects and create sessions 
                function(data){
                    if(data == 1){ //on facebook_login.php echo 1 if user exists in our db. if so, redirect.
                        FB.Dialog.remove(FB.Dialog._active);
                         window.location="wishlist.php";
                    }
                    else if(data == 0){
                        $("#fb_error").dialog("open");  
                        }
                     });
                }
            );
        }
}, true);

}

コードは問題なく Facebook ログインを開始します。しかし、このコードが完了すると、次のページ (wishlist.php) にリダイレクトされません。Facebook からもう一度ログイン ボタンをクリックすると、リダイレクトされます。私は何を間違っていますか?

4

1 に答える 1

0

私は何を間違っていますか?

ログインボタンがすぐにログインで完了すると想定していますが、そうではありませんloginそのため、ログインが実際に行われる前に関数が呼び出されます。

私の提案は次のとおりです。<fb:login-button>ボードを完全に破棄し、FB.login を実装して、独自のボタンをクリックするだけで呼び出せます…</p>

于 2012-07-02T17:53:44.790 に答える