0

我有我的 php 文件,其中包含我更新数据库的方法。但是,在 Javascript 中,我如何让它每 5 秒说一次它“访问”这个页面,以便它的内容得到更新。

这是我的 update.php 文件:

<?php include('config.php') ?>

<?php
mysql_query("UPDATE paint SET paint_points='test'") or die(mysql_error());
echo "Updated";
?>

抱歉,我不熟悉术语。

谢谢

4

3 回答 3

2

setInterval在javascript中每5秒使用一次(a)jax请求的函数:

//syncronized jax:
function myjax() {
    var oXhr = new XMLHttpRequest();
    oXhr.open("POST", "yourphp.php", false);
    oXhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
    oXhr.send(null);
}

//set an interval each 5 seconds to call your myjax method
setInterval(function() { myjax(); }, 5000);

在此示例中,请求是同步的,但如果您愿意,它也可以是异步的。

于 2013-03-06T18:45:15.250 回答
1

最简单的情况是重新加载页面:

<script type="text/javascript">
 setInterval(function() { location.reload(true); }, 5000);
</script>

如果您使用 ajax 调用来获取页面,您会变得更有趣。

于 2013-03-06T18:45:30.687 回答
0

使用 jQuery:

(function() {
    var updateAgain = arguments.callee;
    $.get('/url/to/script.php', function() {
        setTimeout(updateAgain, 5000);
    });
})();

这样做的好处setInterval是在请求完成之前它不会开始计数到五秒;如果请求花费的时间超过一两秒,这一点很重要。如果请求失败(这可能是也可能不是优势),它也会停止。

于 2013-03-06T18:47:27.843 回答