【发布时间】:2016-04-07 16:34:19
【问题描述】:
我到处寻找这个问题的答案,希望有人可以帮助我。我有以下 ajax/JS 代码,以及我在下面调用的外部 PHP 文件,然后是 index.php 页面来显示结果。
此代码适用于我的外部 php 文件。它从 MySQL 数据库中获取发布的数据返回并在#show div 中显示内容。本质上,我正在查询 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(data) 有效,而 html(data) 无效。对于我的一生,尤其是在马克解释了这两个函数之后,我无法弄清楚为什么一个会起作用而另一个不是 html(data) 的返回只是空白,调试中也没有任何内容。
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>
【问题讨论】:
标签: php jquery html mysql ajax