我已经阅读了有关如何执行此操作的3篇帖子,但由于某些原因它无法正常工作。
在页面index.php上,我有这个脚本:
<script type="text/javascript">
function update() {
$.get("index.php", function(data) {
$("#uploadcount").html(data);
window.setTimeout(update, 5000);
});
}
</script>
然后这个div,也在index.php
中<div id=uploadcount>
<?
$result = mysql_query("SELECT * FROM mydb");
$num_rows = mysql_num_rows($result);
echo "<h1>$num_rows</h1><h2>rows</h2>";
?>
</div>
php显示行数很好,但它不会刷新数字 (我有最新的jquery构建包含在index.php的头部)
答案 0 :(得分:1)
请尝试用双引号括住您的div ID:
<div id="uploadcount">
另外,将你的jQuery放在document.ready块中,并且对setTimeout的调用不应该在$ .get方法中:
<script type="text/javascript">
$(document).ready(function() {
function update() {
$.get("index.php", function(data) {
$("#uploadcount").html(data);
});
}
window.setTimeout(update, 5000);
});
</script>
如果您想有选择地从文档中检索某些内容,可以将$.load与选择器一起使用,例如:
$("#uploadcount").load("index.php #uploadcount");
http://docs.jquery.com/Ajax/load
仅适用于jQuery 1.2及更高版本。
答案 1 :(得分:1)
尝试将此用于更新功能
function update() {
$("#uploadcount").load("index.php #uploadcount")
window.setTimeout(update, 5000);
}
答案 2 :(得分:1)
找到了一个效果很好的解决方案
<script type="text/javascript">
$(document).ready(function() {
setInterval(function()
{
$('#uploadcount').fadeOut("fast").load('uploadcount.php').fadeIn("slow");
}, 10000);
});
</script>
<div id="uploadcount">
<? include("uploadcount.php");?>
</div>
感谢所有人的帮助。