0
我正在做一個基於AJAX的Facebook登錄系統,並且我遇到了一個小問題...在Ajax的加載頁面中訪問導入的Facebook腳本
我有一個Facebook登錄頁面首次通過PHP導入的按鈕,然後在有人點擊按鈕時通過AJAX調用,如果登錄成功則更改內容,如果不成功則顯示相同的表單。
<form method="post" id="regist_form" enctype="application/x-www-form-urlencoded" action="asd.php">
<table>
<tr>
<?php echo $this->form->username; ?>
</tr>
<tr>
<?php echo $this->form->password; ?>
</tr>
<tr>
<td><br/><script type="text/javascript">
document.write('<div class="fb-login-button" id="face_login" onlogin="loginAsFacebook()" scope="email,user_activities,publish_stream">Facebook</div>');
</script>
</td>
<td><br/>
<?php echo $this->form->login_form_csrf.$this->form->login_user; ?>
</td>
</tr>
</table>
</form>
的問題是,當我通過AJAX調用這個表單頁面,該頁面以某種方式刷新,並且在中間中斷。然而,當它通過PHP加載,它加載OK ......
我想,如果沒有Facebook的登錄按鈕,它的工作原理確定太...
一些嘗試後,我發現這個問題是有關文件撰寫 ... 我把它改爲:
$(document).ready(function(){
$('#face_gen').append('<div class="fb-login-button" class="face_login" onlogin="loginAsFacebook()" scope="email,user_activities,publish_stream">Facebook</div>');
FB.XFBML.parse(document.getElementById('face_login'));
});
現在,它通過AJAX,但沒有Facebook的按鈕的渲染加載好了......
難道是因爲我對f acebook的所有腳本加載在父頁面上?
<script src="//connect.facebook.net/en_US/all.js" type="text/javascript"></script>
<script type="text/javascript">
FB.init({
appId : 'xxxxxxxxxxxxxxx', // App ID
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
oauth : true, // enable OAuth 2.0
xfbml : true, // parse XFBML
fbml5 : true
});
</script>
我試圖用這個,但它並沒有太多的工作:
$("#user_reg_login").load("logincontent/logincontent/",function(){
FB.XFBML.parse(document.getElementById('face_login'));
});
什麼我現在缺少正確顯示按鈕?