2015-05-27 2 views
0

Моего 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 после тега body и ниже в div, и он работает: bu не на странице ajax render: что мне делать для его рендеринга?

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

ответ

1

Как пояснялось в https://developers.facebook.com/docs/reference/javascript/FB.XFBML.parse вам нужно позвонить FB.XFBML.parse(). Это делается автоматически при включении sdk. Но если кнопка share не находится в HTML-коде в этот момент, она не может быть проанализирована. Так что просто позвоните FB.XFBML.parse() после обновления HTML.

Смежные вопросы