使用Ajax调用同一页面使得正文内容显示两次

时间:2018-02-19 06:52:56

标签: javascript ajax

我正在通过页面上的链接对同一个PHP页面进行Ajax调用。 对于最终的代码,我将传递一些参数,但为了保持简单,我在下面的代码中没有这样做。我使用Ajax的原因是放置一个" Please Wait"消息,因为它似乎是最有效的方式(通常你从一个页面到另一个页面进行调用,这完全正常)。

我确实看到了#34;请等待&#34;单击链接后相应的消息,但它保持通过Ajax调用显示新内容下面的<BODY>部分的内容。所以在他的例子中,在下面,我基本上最终得到2个链接,说&#34;点击这里&#34;。如何使其仅加载新内容(在这种情况下是相同的)?

这一定很简单,但我不确定我在这里失踪了什么。

PWAIT.PHP

    <body>
    <?php sleep(3); //To allow for the message to show as I have nothing processing here ?>  
    <a href="#" onclick="loadingAjax('myDiv')">Click here</a>
    <script>
    function loadingAjax(div_id)
    {
     $("#"+div_id).html('<center><img src="http://img/ajax-loader.gif"><b>Please Wait ...
    </b></font></center>');
        $.ajax({
            type: "POST",
            url: "pwait.php",
            success: function(msg){
            $("#"+div_id).html(msg);
        }
    });
}

</script>
<div id="myDiv"></div>
</body>

1 个答案:

答案 0 :(得分:1)

经过讨论,我们发现您的代码正常运行。它完全按照你的要求去做。

  1. 从服务器加载页面
  2. 点击按钮
  3. 通过AJAX
  4. 加载相同的页面
  5. 将页面内容复制到页面上的div中
  6. 显示重复内容
  7. 这就是你所问的,这就是你收到的。