举个例子,让我们有这个伪代码:
$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中执行此操作?它可以实现吗?
答案 0 :(得分:3)
您可以使用setInterval
setInterval(function(){
$.post('ajax.php', {data: 'x'}, function(reponse) {
//Do what you want with response
});
}, 30000);
Here对此有一些解释。