2011-08-26 65 views
0

假如我有下面的代碼返回一個Javascript對象,我可以在Firebug的控制檯讀取:如何在Ajax請求中使用Facebook Javascript SDK響應?

FB.api('/me',function(apiresponse){ 
    console.log(apiresponse); 
}); 

我怎麼能那麼在一個Ajax請求使用的數據來自apiresponse在同一頁上?

目前我的Ajax請求如下所示:

$.ajax({ 
    // CodeIgniter URL 
    url: "<?=site_url?>('login/add_fb_users'); ?>", 
    type: 'POST', 
    data: apiresponse, 
    success: function(data) { 
     alert(data); 
    } 
});  

我不是很瞭解的Javascript,但看完周邊的對象物使我覺得我有JavaScript對象轉換爲JSON字符串。那是對的嗎?我在正確的軌道上嗎?

回答

1

你可以把你的AJAX調用的處理程序,如下面的API調用內部..

FB.api('/me', function(apiresponse){ 
    console.log(apiresponse); 

    $.ajax({ 
     // CodeIgniter URL 
     url: "<?=site_url?>('login/add_fb_users'); ?>", 
     type: 'POST', 
     data: apiresponse, 
     success: function(data) { 
      alert(data); 
     } 
    }); 
}); 
+0

最煩人的問題是最容易解決的問題。作品一種享受。謝謝。 –

0

一種可能的方式:

  • 在JavaScript,例如定義一個全局變量var myVar1;
  • 在您的FB.api回調中設置apireponse到全局變量(即您呼叫console.log)
  • 在您的ajax fcn中引用var myVar1。
+0

如果我這樣做,'警報(myVar1)',它只是返回「未定義」。我錯過了什麼嗎? –

+0

你在那一刻設置了價值? –