我有我的php文件,其中包含我的方法来更新数据库。然而,在Javascript中,我如何使它每5秒说它"访问"这个页面,所以它的内容得到更新。
这是我的update.php文件:
<?php include('config.php') ?>
<?php
mysql_query("UPDATE paint SET paint_points='test'") or die(mysql_error());
echo "Updated";
?>
对不起,我不熟悉这个术语。
谢谢
在javascript中每5秒使用一个(a)jax请求setInterval
函数:
//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);
在这个例子中,请求是同步的,但是如果你希望的话,它也可以是异步的。
最简单的情况是使用:
<script type="text/javascript">
setInterval(function() { location.reload(true); }, 5000);
</script>
如果您使用ajax调用来获取页面,则可以更花哨。
使用jQuery:
(function() {
var updateAgain = arguments.callee;
$.get('/url/to/script.php', function() {
setTimeout(updateAgain, 5000);
});
})();
与setInterval
相比,它的优点是,在请求完成之前,它不会开始计数到5秒;如果请求需要一两秒钟以上的时间,这一点很重要。如果请求失败,它也会停止(这可能是也可能不是一个优势)。