我正在调用Javascript SDK中的FB.logout()和FB.login()函数。
在每种情况下,我都希望通过AJAX调用PHP“同步”脚本,以使我的服务器状态保持最新。例如:
FB.init({
appId:'XXXXXXXXXXXXX',
cookie: true,
status : true,
xfbml:true
});
FB.logout(function(response) {
$.ajax({
type: "POST",
url: "http://mysite.com/sync.php",
cache: false
...
});
}
然后在sync.php脚本中:
$user = $this->api->getUser();
if ($user) {
try {
$me = $this->api->api('/me');
}
catch (FacebookApiException $e){
error_log($e);
$user = false;
}
}
if ($user)
echo json_encode(array("status" => "logged in"), JSON_FORCE_OBJECT);
else
echo json_encode(array("status" => "logged out"), JSON_FORCE_OBJECT);
所以在调用FB.logout之后,为什么sync.php总是返回“登录”状态?
我知道在调用Javascript FB.login()或FB.logout()之后我可以调用Facebook PHP登录或注销函数,但我是否真的必须这样做才能让两个SDK一起工作?
顺便说一句,sync.php脚本返回“登录”,无论我是在FB.logout()内立即通过AJAX调用还是稍后刷新页面。
感谢您的帮助。