FB 连接:显示 response.name


FB Connect: Display the response.name

我想使用 php 回显 FB 用户的 response.name,但它不起作用。我也提醒它,结果是"未定义"

<div id="fb-root"></div> <script>
  window.fbAsyncInit = function() {
  FB.init({
    appId      : 'xxxxxxxxx',
    channelUrl : 'www.xxxxxxxxx.com',
    status     : true,
    cookie     : true,
    xfbml      : true
  });
  FB.Event.subscribe('auth.authResponseChange', function(response) {
    if (response.status === 'connected') {
      alert(getUserInfo());
    } else if (response.status === 'not_authorized') {
      FB.login();
    } else {
      FB.login();
    }
  });
  };
  (function(d){
   var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
   if (d.getElementById(id)) {return;}
   js = d.createElement('script'); js.id = id; js.async = true;
   js.src = "//connect.facebook.net/en_US/all.js";
   ref.parentNode.insertBefore(js, ref);
  }(document));
  function getUserInfo() {
   var str='';
        FB.api('/me', function(response) {
       str=response.name;
    });
    return str
    }
</script>
<fb:login-button show-faces="false" width="200" max-rows="1" autologoutlink='true'></fb:login-button>

我想获取 response.name 然后将其插入数据库。 我想,我需要知道的只是如何把它放在PHP的变量中?或者把它放在JavaScript变量中,然后发送到PHP文件。

function getUserInfo() {
   var str='';
        FB.api('/me', function(response) {
       str=response.name;
       //Do ajax post to php here
    });
}