Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法访问除“以外的详细信息”;名称“;来自ajax函数中的FB.api_Javascript_Php_Ajax_Facebook Graph Api_Facebook Javascript Sdk - Fatal编程技术网

Javascript 无法访问除“以外的详细信息”;名称“;来自ajax函数中的FB.api

Javascript 无法访问除“以外的详细信息”;名称“;来自ajax函数中的FB.api,javascript,php,ajax,facebook-graph-api,facebook-javascript-sdk,Javascript,Php,Ajax,Facebook Graph Api,Facebook Javascript Sdk,我在访问用户名、姓氏、id和电子邮件等用户详细信息时遇到问题,但我可以直接访问用户名。我可以通过以下代码访问用户名: function testAPI() { console.log('Welcome! Fetching your information.... '); FB.api( '/me', 'GET', {"fields":"id,name,first_name,last_name,email"}, function(respon

我在访问用户名、姓氏、id和电子邮件等用户详细信息时遇到问题,但我可以直接访问用户名。我可以通过以下代码访问用户名:

function testAPI()
{      
  console.log('Welcome!  Fetching your information.... ');

  FB.api(
    '/me',
    'GET',
    {"fields":"id,name,first_name,last_name,email"},
    function(response)
    {
      f_id = response.id;
      name = response.name;
      fname = response.first_name;
      lname = response.last_name;
      email = response.email;

      console.log('Successful login for: ' + name + "\n first name: " + fname + "\n last name: " + lname + "\n email: " + email  + "\n ID: " + f_id);
      document.getElementById('status').innerHTML = 'Thanks for logging in, ' + response.name + '!';
    }
  );
  $.ajax(
    {
      type:"POST",
      url: 'http://localhost:8080/timeline_dashboard/index.php',

      // data: {f_id: f_id, name: name, fname: fname, lname: lname, email: email},
      data: {name:name},
      success: function(data)
      {
      alert(data);
      }
    }
  );
}

$(document).ready(
  function()
  {
    var f_id, name, fname, lname, email;
  }
);

<?php //working code on index.php
// print_r($_POST);die;
  if(isset($_POST['name']))
  {
    echo $_POST['name'];die;
  }
?>
函数testAPI()
{      
log('欢迎!获取您的信息…);
FB.api(
“/我”,
“得到”,
{“字段”:“id,name,first_name,last_name,email”},
功能(响应)
{
f_id=response.id;
name=response.name;
fname=response.first\u name;
lname=response.last_name;
email=response.email;
console.log('成功登录:'+name+“\n名字:“+fname+”\n姓氏:“+lname+”\n电子邮件:“+email+”\n ID:+f\U ID”);
document.getElementById('status').innerHTML='感谢您登录,'+response.name+'!';
}
);
$.ajax(
{
类型:“POST”,
网址:'http://localhost:8080/timeline_dashboard/index.php',
//数据:{f_id:f_id,name:name,fname:fname,lname:lname,email:email},
数据:{name:name},
成功:功能(数据)
{
警报(数据);
}
}
);
}
$(文件)。准备好了吗(
函数()
{
变量f_id、名称、fname、lname、电子邮件;
}
);

在上面的代码中,我通过ajax调用发送了'name'的值,并能够通过'POST'方法将该值发送到index.php,当我将
数据:{name:name}、
更改为
数据:{email:email}、
或类似id、名字或姓氏的任何内容时,我总是会遇到以下错误:
引用错误:在控制台中未定义电子邮件,这意味着我的ajax函数不会在testAPI()的作用域内获取任何名为email的变量。最后,我的问题是如何获取除name之外的变量,这样我就可以在index.php页面上的ajax调用和访问数据中将这些变量作为参数发送,这样我就可以使用从$\u POST获得的这些变量插入数据库,以便在我的webapp上进行用户注册?从

上的教程中获取此信息您是否已将
响应记录到console并对其进行检查?您不应该从客户端开始执行此操作。我可以将任意数据发送到您的服务器端端点,这与我的实际用户数据(Facebook所知)没有任何关系。您应该只向服务器发送访问令牌,然后进行API调用以从服务器请求此数据。我无法从FB.API函数中获取响应对象的值,如果可以的话,我会直接使用它来检索用户详细信息的值。您在说什么?将
console.log(response)
作为回调函数的第一行…是的,它显示了JSON响应文件中的对象,但那又如何呢?