我试图通过将用户 ID 作为参数提供给 FB.api 方法来获取特定用户的用户名。但它只是返回未定义。如果我在 FB.api 方法中使用 console.log,我可以看到结果。想不通。
var something;
var friendName = FB.api('/{{ user id }}', function(give){ something = give.name; });
console.log(something);
我试图通过将用户 ID 作为参数提供给 FB.api 方法来获取特定用户的用户名。但它只是返回未定义。如果我在 FB.api 方法中使用 console.log,我可以看到结果。想不通。
var something;
var friendName = FB.api('/{{ user id }}', function(give){ something = give.name; });
console.log(something);
如果我在 FB.api 方法中使用 console.log,我可以看到结果。
该方法是异步的,这意味着当您执行以下行(记录到控制台)时,服务器端调用的答案尚不存在 - 因此回调函数尚未执行,因此它尚未设置var在那一点上。
您应该熟悉 javascript 中异步执行的基础知识!
您可以改用此 php 代码
<?php
$username=$facebook->api('/user_id?fields=username');
//with appropriate access tokens
?>
将函数console.log
放在里面callback
。