Javascript Facebook Jquery SDK FB.init()未初始化

Javascript Facebook Jquery SDK FB.init()未初始化,javascript,jquery,facebook,facebook-graph-api,facebook-javascript-sdk,Javascript,Jquery,Facebook,Facebook Graph Api,Facebook Javascript Sdk,对于后端编程和API访问,我是一个初学者。 我从Facebook的文档页面复制了一个对jQuerySDK的简单ajax请求,但它似乎不起作用 我的代码如下: $.ajaxSetup({ cache: true }); $.getScript('http://connect.facebook.net/en_US/sdk.js', function(){ FB.init({ appId: '{socialApp}', version: 'v2.5' }); console.log(FB)

对于后端编程和API访问,我是一个初学者。 我从Facebook的文档页面复制了一个对jQuerySDK的简单ajax请求,但它似乎不起作用

我的代码如下:

$.ajaxSetup({ cache: true });
$.getScript('http://connect.facebook.net/en_US/sdk.js', function(){
FB.init({
  appId: '{socialApp}',
  version: 'v2.5' 
}); 
console.log(FB);    
});


$('#getInfo').click(function() {
FB.login(function(response) {
    if (response.authResponse) {
      console.log('Welcome!  Fetching your information.... ');
      FB.api('/me', function(response) {
      console.log('Good to see you, ' + response.name + '.');
      });
    } else {
      console.log('User cancelled login or did not fully authorize.');
    }
    });
});
调用FB.login时,我得到的错误是:

FB.login() called before FB.init().

这是为什么?。另外,当我使用console.logFB时,我确实得到了FB对象,但是FB.init.appID和FB.init.version甚至没有设置,所以我认为FB.init没有正确初始化。

我认为您的代码是从这个复制的

看起来$.getScript中的函数工作不正常

首先,我认为您应该在html页面中检查jquery插件

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
希望这有帮助

$(document).ready(function() {
  $.ajaxSetup({ cache: true });
  $.getScript('//connect.facebook.net/en_US/sdk.js', function(){
    FB.init({
      appId: '{socialApp}',
      version: 'v2.5'
    });     
    console.log(FB);  
  });
});