2

我想使用 javascript (JQuery) 通过 ajax 向服务器询问 XFBML 代码。然后 XFBML 代码将附加到 DOM。

这是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 的数据?

4

1 回答 1

6

您需要对任何新内容使用FB.XFBML.parse 。默认情况下,FBML 仅在页面加载时解析。根据我链接的页面中的第二个示例,确切的代码将是

FB.XFBML.parse(document.getElementById('attachnow'));

添加为attachData函数的最后一行。

于 2010-11-04T03:54:22.337 回答