2
我想用javascript(jQuery)通過ajax向服務器請求XFBML代碼。 然後,XFBML代碼將附加到DOM。如何通過ajax放置XFBML代碼?
這是PHP代碼:
echo "
<fb:serverFbml>
<script type=text/fbml'>
<fb:fbml>
<fb:request-form
action='http://myserver.com/invited.php'
method='post'
type='myserver'
invite='true'
content='yo you...'>
<fb:request-form-submit uid=12312312label='Send to %n ' import_external_friends=false />
</fb:request-form>
</fb:fbml>
</script>
</fb:serverFbml>
";
這裏是JavaScript:
function clickME() {
$.ajax(
{
url:'http://myserver.com/fbml_ajax.php',
success:attachData,
type:'GET',
dataType:'html',
global:false
}
);
}
function attachData(data) {
var myData = data;
$('#attachnow').html(data);
}
我不能使它工作..它沒有連接。
如果我只是將XFBML靜態放在HTML頁面上,它就可以工作。但如果我附加到DOM它不會。
是因爲標籤?還是因爲從服務器返回時包含\ r \ n的數據?
因此,我應該對由ajax傳回的數據立即運行FB.xFMBL.parse(data),還是附加到dom,然後運行FB.XBML.parse('attachnow')? – murvinlai 2010-11-04 10:23:41
我編輯了我的答案來回答這個問題;希望它有助於:) – Domenic 2010-11-04 12:26:28
@murvinlai - 附加到DOM後。基本原理:FB代碼處理DOM中的元素(例如「document.getElementById」) - 因此您需要執行處理並將該項目附加到DOM,然後調用FB來解析添加的內容。 – jeffreypriebe 2011-04-20 15:26:38