我有我的 php 文件,其中包含我更新数据库的方法。但是,在 Javascript 中,我如何让它每 5 秒说一次它“访问”这个页面,以便它的内容得到更新。
这是我的 update.php 文件:
<?php include('config.php') ?>
<?php
mysql_query("UPDATE paint SET paint_points='test'") or die(mysql_error());
echo "Updated";
?>
抱歉,我不熟悉术语。
谢谢
我有我的 php 文件,其中包含我更新数据库的方法。但是,在 Javascript 中,我如何让它每 5 秒说一次它“访问”这个页面,以便它的内容得到更新。
这是我的 update.php 文件:
<?php include('config.php') ?>
<?php
mysql_query("UPDATE paint SET paint_points='test'") or die(mysql_error());
echo "Updated";
?>
抱歉,我不熟悉术语。
谢谢
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);
在此示例中,请求是同步的,但如果您愿意,它也可以是异步的。
最简单的情况是重新加载页面:
<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是在请求完成之前它不会开始计数到五秒;如果请求花费的时间超过一两秒,这一点很重要。如果请求失败(这可能是也可能不是优势),它也会停止。