Php 发布到facebook如何在不刷新的情况下获得响应
我有这个代码,如果用户没有通过facebook登录,请检查显示facebook,以便用户通过facebook登录Php 发布到facebook如何在不刷新的情况下获得响应,php,jquery,ajax,Php,Jquery,Ajax,我有这个代码,如果用户没有通过facebook登录,请检查显示facebook,以便用户通过facebook登录 if($req_user['oauth_provider'] != "facebook") { <input type="checkbox" name="fb_post" id="fb_post" value="1" onclick="facebookPermissionsGrant(); return false;">} ?> if($req\u用户['o
if($req_user['oauth_provider'] != "facebook")
{
<input type="checkbox" name="fb_post" id="fb_post" value="1" onclick="facebookPermissionsGrant(); return false;">}
?>
if($req\u用户['oauth\u提供者]!=“facebook”)
{
}
?>
如果用户通过facebook登录,则选中“显示”复选框:
if($req_user['oauth_provider'] == "facebook" && $CONFIG['fb_status'] == 1) {
<input type="checkbox" name="fb_post" id="fb_post" value="1" checked>
}
if($req\u user['oauth\u provider']==“facebook”&$CONFIG['fb\u status']==1){
}
我遇到的问题是,如果用户没有通过facebook登录,并检查checbox,然后在facebook上输入用户名和密码。他必须再次刷新页面才能看到复选框被选中。
在ajax或jquery中是否有一种方法可以让我不必刷新页面,并且如果用户登录,它将显示复选框?是的,有。Facebook的Javascript API拥有FB.Event.Subscribe,当用户的登录状态发生变化时,它会通知您的Javascript 例如:
window.fbAsyncInit = function() {
FB.init({
appId : 'YOURAPPID',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
channelUrl : 'http://www.yourdomain.com/channel.html', // Custom Channel URL
oauth : true //enables OAuth 2.0
});
// retrieve the login status.
FB.getLoginStatus(function(response) {
if (response.authResponse) update_user_is_connected();
else update_user_is_not_connected();
});
// This will be triggered as soon as the user logs into Facebook (through your site)
FB.Event.subscribe('auth.login', function(response) {
update_user_is_connected();
});
};
您可以在此处阅读有关FB.Event.subscribe的更多信息: