代码之家  ›  专栏  ›  技术社区  ›  murvinlai

如何通过Ajax放置XFBML代码?

  •  2
  • murvinlai  · 技术社区  · 15 年前

    我想使用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,它就不会。

    是因为标签吗?还是因为从服务器返回时包含的数据?

    1 回复  |  直到 15 年前
        1
  •  6
  •   Domenic    15 年前

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

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

    添加为您的最后一行 attachData 功能。