Facebook登录功能没有;t在登录后执行任何操作

Facebook login function doesn't executes anything after the login itself

本文关键字:登录 执行 操作 任何 功能 Facebook      更新时间:2023-09-26

在下面的代码中,我在登录后尝试执行ajax和重定向,完全奇怪的是,它让我登录,但FB.login之后的任何内容都被忽略了!

我还在另一个网站上使用了这个确切的代码,它工作得很好,有ajax和重定向。

对facebookapi的调用是异步的,这里不包括(它有效)

$(".joiner").live("click", login);
var button = document.getElementById('fb-login');
window.fbAsyncInit = function() {
    FB.init({appId: '0000000000000000', status: true});
    FB.getLoginStatus(function(response) {
        if (response.session) {
            console.log('User is logged in.');
            FB.api("/me", handleMe);
        }
        else {
            console.log('User is not logged in.');
            }
    });
};

function login(){
    FB.login(function(response) {
        if (response.session) {
            console.log('Login success.');
            FB.api("/me", handleMe);
        }
        else {console.log('Login cancelled.')}
    });
}

function handleMe(response) {
    $.ajax({
        type: 'GET',
        url: 'www.url.com',
        data: "uid=" + response.id + "&name=" + response.name + "&gender=" + response.gender,
        success: function(){
            console.log('Ajax successful.');
            window.location = "www.url.com";
            },
        error: function(){console.log('Ajax failed.');}
    });
}

我前段时间遇到了这个问题。我可以通过在facebook应用程序配置中设置正确的url并从该url运行脚本来解决这个问题。例如,当您尝试从应用程序配置中具有不同url设置的本地主机登录时,它不起作用。

有一个显示错误代码的响应,但没有显示响应。会话。