Javascript 当前和ajax请求加载的页面上相同的div id会产生问题吗?

Javascript 当前和ajax请求加载的页面上相同的div id会产生问题吗?,javascript,ajax,facebook,Javascript,Ajax,Facebook,我正在使用facebook编程,需要保持 在我的第一个页面上,我通过点击按钮进行facebook登录,需要保留上面的div。这没有问题 现在,当用户单击index.php上的按钮时,通过ajax将新页面url.php加载到index.php页面上的。 此url.php页面包含facebook评论框的代码。它再次使用 所以在index.php和url.php上使用相同的div id会产生问题吗 当我直接加载url.php时,facebook评论框会正确显示,但当我第一次加载index.php并通

我正在使用facebook编程,需要保持

在我的第一个页面上,我通过点击按钮进行facebook登录,需要保留上面的div。这没有问题

现在,当用户单击index.php上的按钮时,通过ajax将新页面
url.php
加载到
index.php
页面上的
。 此
url.php
页面包含facebook评论框的代码。它再次使用
所以在
index.php
url.php
上使用相同的div id会产生问题吗

当我直接加载
url.php
时,
facebook评论框
会正确显示,但当我第一次加载
index.php
并通过ajax请求
url.php
时,评论框不会出现

下面是url.php上facebook评论框的代码:

   <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/all.js#xfbml=1&appId=9549";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

<div class="fb-comments" data-colorscheme="light" data-width="470" style="z-index: 1; left: 420px; top: 560px; "  ></div>

您可以做的是从用于加载注释框的
url.php
页面中删除
。相反,使用JavaScript函数
FB.XFBML.parse()
在ajax
success
callback
方法中,使用现有div呈现注释框

jQuery示例:

$.post( 'url.php', data, function( response ) {
    $('.comment-box').html( response );
    FB.XFBML.parse();
}, 'html' );

FB.XFBML.parse()函数将呈现评论框和页面上的任何其他Facebook元素。

我在执行ajax调用的地方添加了代码。我应该把你写的代码放在哪里?comment box是你想要放置Facebook评论插件的div的类。您可以相应地更改该行以使用ID或其他类。在代码中,只需在Ajax代码末尾使用
FB.XFBML.parse()
即可显示注释插件。
 if (response.status === "connected")
        {
            LodingAnimate(); 
            FB.api('/me?fields=movies,email', function(mydata) {
            console.log(mydata.email);

            //alert("json-5");
            var json = JSON.stringify(mydata.movies.data);
        //    alert(mydata.movies);
            var a = JSON.parse(json);       
            $.post('movies_db.php',{'myd':a}, function(data) 
            {
                $.ajax({
            url:'url.php'
            ,async:     true
            ,cache:     false
            ,dataType:  'html'
            ,success:   function(data){
                $('body').html(data);
                    }
        });        
            });
        console.log(data);

              }); //--
         } //if
$.post( 'url.php', data, function( response ) {
    $('.comment-box').html( response );
    FB.XFBML.parse();
}, 'html' );