1

我在 head 标签之间有这个 Javascript 代码

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script> 
<script> 
var auto_refresh = setInterval(
function()
{
$('#loaddiv').fadeOut('slow').load('reload.php').fadeIn("slow");
}, 1000);
</script>

div 看起来像这样:

<div id="loaddiv"> 

<div style="float: left; width:868px; height:635px; border:2px solid #000; overflow:auto;">
 <?php 
 index_table();
 ?>
</div>

</div>

index_table();是一个从 MySQL 数据库中的表中输出记录的函数。每次将新记录插入此表时,它应该会自动显示,因为我div当前一直在刷新(或者它一直在闪烁但新记录不存在)。

问题是它没有显示正在插入的新记录。唯一的方法是简单地刷新页面(刷新按钮 - 谷歌浏览器)。

上面的代码有什么问题?

4

3 回答 3

1

php 代码在服务器端执行,fadeOut/fadeIn 在客户端执行。您应该通过使用 ajax 或在 setInterval 中插入 window.load() 来刷新页面。

于 2012-09-10T18:41:44.083 回答
1

您是否尝试过为 .load 的回调函数设置警报,例如:

$('#loaddiv').load('reload.php', function() {
  alert('Load was performed.');
});

确保 reload.php 正确加载?

于 2012-09-10T18:42:54.183 回答
1

我建议使用 jQuery 的 .get 和 .html 方法来刷新数据。.get 检索结果集和 .html 以显示结果集。

http://api.jquery.com/html/

于 2012-09-10T18:42:57.903 回答