Facebook分享按钮未显示在ajax呈现的页面中

时间:2015-05-27 16:39:51

标签: jquery ajax facebook

我的阿贾克斯:

$("#searchform").on("submit", function () {
    //$(this).find(':submit').attr('disabled','disabled');
    var data = {
        "action": "test"
    };

    data = $(this).serialize() + "&" + $.param(data);
    $.ajax({
        type: "POST",
        dataType: "json",
        url: "search/ajax2.php",
        data: data,

        success: function (data) {

            getData=data;



if(data!=""){
                 $("inner_div").append("Posted On:"+ data[i].postDate +"<div class='fb-share-button' data-href='https://gloopal.com/search2.php?TID="+ tid +"' data-layout='button'></div>")  ; 

            ......................
           ..........................

            }else
{
.........
.......
}

php页面:

打开标签后

<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.3";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

在其他页面中我包括身体标签之后的fb api以及div中的以下内容并且它起作用:不在他的ajax渲染页面中:我该怎么做才能渲染?

<div class="fb-share-button" data-href="https://gloopal.com/search2.php?TID=<?php echo $tid; ?>" data-layout="button">
</div>

1 个答案:

答案 0 :(得分:2)

正如https://developers.facebook.com/docs/reference/javascript/FB.XFBML.parse所述,您需要致电FB.XFBML.parse()。这是在包含sdk时自动完成的。但是,如果此时分区按钮不在HTML代码中,则无法解析。因此,请在更新HTML后调用FB.XFBML.parse()