举个例子,让我们用这个psuedo代码:
$animals = getAnimals(); // getAnimals() gets data from a MySQL table and returns the result as an array
for($i=0; $i<count($animals);$i++) {
echo "<tr><td>".$animals[$i][0]."</td><td>".$animals[$i][1]."</td></tr>";
这将打印类似于:
<table>
<tr>
<td>1</td>
<td>Cat</td>
</tr>
<tr>
<td>2</td>
<td>Dog</td>
</tr>
</table>
现在,有没有一种方法可以让我在不重新加载页面的情况下更新这个表?我环顾四周,AJAX做到了这一点,但我不知道什么会触发它。如果我想用html重新加载,我会有这样的东西:
<META HTTP-EQUIV="refresh" CONTENT="30">
或者类似于js,浏览器会对我这样做。但当使用ajax时,我可以用什么来触发,例如每30秒触发一次?我看到过使用POST数据的例子,但如果我想以设定的间隔从数据库中获取数据(并更新html表),我如何在ajax中做到这一点?这是可以实现的吗?
您可以使用setInterval
setInterval(function(){
$.post('ajax.php', {data: 'x'}, function(reponse) {
//Do what you want with response
});
}, 30000);
以下是对此的一些解释。