Javascript facebook JS SDK登录的困惑

Javascript facebook JS SDK登录的困惑,javascript,jquery,facebook,facebook-graph-api,facebook-javascript-sdk,Javascript,Jquery,Facebook,Facebook Graph Api,Facebook Javascript Sdk,我有两个独立的js文件,domready.js和fb jssdk.js jssdk负责加载sdk和登录。当用户登录或未登录时,它从response.state返回正确的状态,具体取决于场景 我感到困惑的是,当用户登录并使用jQuery在我的网站上使用时,我如何使用从FB response和FB.api获得的数据来获取姓名和电子邮件 编辑: 我想知道如何在一个单独的js文件中使用响应内容,而不是fb代码所在的文件,并将其与jQuery事件处理程序一起使用 因此,如果我有一个名为testAPI()的

我有两个独立的js文件,domready.jsfb jssdk.js

jssdk负责加载sdk和登录。当用户登录或未登录时,它从response.state返回正确的状态,具体取决于场景

我感到困惑的是,当用户登录并使用jQuery在我的网站上使用时,我如何使用从FB response和FB.api获得的数据来获取姓名和电子邮件

编辑: 我想知道如何在一个单独的js文件中使用响应内容,而不是fb代码所在的文件,并将其与jQuery事件处理程序一起使用

因此,如果我有一个名为testAPI()的函数,它将response.name打印到控制台,那么如何在另一个文件中获取response.name=“Kryptonite Dove”的数据

testAPI()

一些函数

   $("#id").click(function() {
      if (response.name == "Kryptonite Dove") {
        // Do something
      }
   });

您正在尝试访问
response
,这是另一个函数中的局部变量(请参阅:)。所以,您可以做的一件事是将其分配给一个全局变量,然后在另一个函数中访问它

var saved_response;

function testAPI() {
  console.log('Welcome!  Fetching your information.... ');
  FB.api('/me', function(response) {
      console.log('Good to see you, ' + response.name + '.');
      var state = response.name;
      saved_response = response;

      return response.name;
  });
}



$("#id").click(function() {
   if (saved_response.name == "Kryptonite Dove") {
     // Do something
   }
});

您正在尝试访问
response
,这是另一个函数中的局部变量(请参阅:)。所以,您可以做的一件事是将其分配给一个全局变量,然后在另一个函数中访问它

var saved_response;

function testAPI() {
  console.log('Welcome!  Fetching your information.... ');
  FB.api('/me', function(response) {
      console.log('Good to see you, ' + response.name + '.');
      var state = response.name;
      saved_response = response;

      return response.name;
  });
}



$("#id").click(function() {
   if (saved_response.name == "Kryptonite Dove") {
     // Do something
   }
});

我一直在看这个页面,老实说,我对javascript不是很熟悉,我正在努力理解它是如何帮助我的。我已经更新了我的答案,以反映您在问题中所做的更改。希望能帮上忙,谢谢,我曾尝试存储response.name,但必须在func中将其改回本地变量。谢谢你!我一直在看这个页面,老实说,我对javascript不是很熟悉,我正在努力理解它是如何帮助我的。我已经更新了我的答案,以反映您在问题中所做的更改。希望能帮上忙,谢谢,我曾尝试存储response.name,但必须在func中将其改回本地变量。谢谢你!我已经说过,它正在返回response.state的正确状态,并且已经按照facebook开发网站上的文档进行了测试。但这不是我的问题,所以就阅读更多内容而言…@Kyrponidedove-哦,在你用更多代码和思想编辑它之前,我对这个问题进行了评论。@RPM恐怕又错了。您在我编辑之前发表了评论,但在我说“用户登录或不登录时,它将从response.state返回正确的状态,具体取决于场景”之前没有发表评论如果需要更多证据,请查看版本历史记录。我已经说过,它返回了response.state的正确状态,并按照facebook开发网站上的文档进行了测试。但这不是我的问题,所以就阅读更多内容而言…@Kyrponidedove-哦,在你用更多代码和思想编辑它之前,我对这个问题进行了评论。@RPM恐怕又错了。在我编辑之前,您已经发表了评论,但在我说“用户登录或未登录时,它将从response.state返回正确的状态”之前,您没有发表评论。如果需要更多证据,请检查版本历史记录。