Javascript 无法访问除“以外的详细信息”;名称“;来自ajax函数中的FB.api
我在访问用户名、姓氏、id和电子邮件等用户详细信息时遇到问题,但我可以直接访问用户名。我可以通过以下代码访问用户名: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
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响应文件中的对象,但那又如何呢?