PHP ajax从外部PHP文件返回重复项


PHP ajax returns duplicate from external PHP file

我到处寻找这个问题的答案,希望有人能帮我。我有下面的ajax/JS代码,还有一个外部PHP文件,我在下面调用它,然后是一个显示结果的index.PHP页面。

这段代码与我的外部php文件配合得很好。它从MySQL数据库获取发布的数据返回,并在#showdiv中显示内容。本质上,我是在查询MySQL数据库中的主机详细信息(ip、mac等)。在不刷新页面的情况下,这一切都恢复得很好。问题和我的问题是,当我再次提交带有另一个代码的表单时,结果会再次返回,但会附加到以前的结果中。问题:我该如何避免这种情况?!我已经研究过缓存和清除Ajax变量(内容)以及清空PHP页面,但在另一次提交时,我没有成功地清除之前的Ajax调用。这是我的ajax代码的问题吗?或者我需要澄清PHP方面的问题吗?

一般来说,我对ajax比较陌生,但了解脚本是如何检索信息的。在我把结果刮回index.php页面后,有没有办法刷新外部php文件来转储上一篇文章?

    <script type="text/javascript">
              $(function() {
                    $(".submit_button").click(function() {
                        var textcontent = $("#content").val();
                        var dataString = 'content='+ textcontent;
                             $.ajax({
                            type: "POST",
                            url: "HOST_gethost.php",
                            data: dataString,
                            success: function(html){
                            $("#show").after(html);
                            document.getElementById('content').value='';
                });
                }
                return false;
                });
            });
    </script>

提前感谢!!

编辑更多细节,因为我仍然有同样的问题:after(数据)工作,html(数据)不工作。在我的一生中,尤其是在mark解释了这两个函数之后,我不明白为什么一个函数有效,而另一个函数无效。html(数据)的返回只是空白,调试中也没有任何内容。

JS代码:

<script type="text/javascript">
          $(function() {
                $(".submit_button").click(function() {
                    var textcontent = $("#content").val();
                    var dataString = 'content='+ textcontent;
                         $.ajax({
                        type: "POST",
                        url: "HOST_gethost.php",
                        data: dataString,
                        success: function(data){
                        $("#show").html(data);
                        document.getElementById('content').value='';
            }
            });
            return false;
            });
        });
</script>

PHP外部文件:

<?php
$conn = mysql_connect('','','') or die (mysql_error);
$db=mysql_select_db('blah', $conn) or die (mysql_error);

$content=$_POST['content'];
$fetch= mysql_query("SELECT * FROM blah.blahblah WHERE hostname LIKE     '%$content%'  ");
$row=mysql_fetch_array($fetch);
?>
<div class="showbox"> 
    <table>
        <th>Attributes</th><th>Details</th>
        <tr><td>Name</td><td><?php echo $row['hostname']; ?></td></tr>
        <tr><td>Last Known IP</td><td><?php echo $row['ipv4']; ?></td></tr>
        <tr><td>Last Known User</td><td><?php echo $row['username']; ?></td>    </tr>
        <tr><td>Last Seen</td><td><?php echo $row['updated']; ?></td></tr>
        <tr><td>Protection</td><td><?php echo $row['encryption_status']; ?></td></tr>
        <tr><td>Firewall</td><td><?php echo $row['firewall_explanation']; ?></td></tr>
    <tr><td>Script Policy</td><td><?php echo $row['policy']; ?></td></tr>
    <tr><td>GPO Check-in</td><td><?php echo $row['gpo']; ?></td></tr>
</table>
 </div>

使用

$("#show").html(html);

而不是

$("#show").after(html);