FB.api和jquery ajax响应

时间:2012-02-27 10:24:15

标签: jquery ajax facebook-javascript-sdk

当jquery ajax()调用成功返回时,我需要帮助调用FB.api函数。显示Facebook名称的提醒仅适用于Chrome。与Firefox和IE8无关。警报(数据)正常,窗口也重新加载。但FB.api没有。非常感谢你的帮助:

function fb_login() {
    FB.login(function(response) {
      //alert('login');
      if (response.authResponse) {


$.ajax({
    url: 'fb_login.asp',
    data: '',
    type: 'POST',
    dataType: 'text',
    timeout: 10000,
    error: function(){
        alert('Error login Facebook');
    },
    success: function(data){
        alert(data);
        // do something with xml

        FB.api('/me', function(resp) {
            alert(resp.name);
        });        

        window.location.reload();
        //alert('ok');
    }
});  



      }


    }, {scope:'email,publish_stream'});

}

1 个答案:

答案 0 :(得分:1)

对FB.api的调用是异步的,因此在执行回调函数之前页面会重新加载。试试这个:

FB.api('/me', function(resp) {
    alert(resp.name);
    window.location.reload();
    alert('ok');
});