使用Ajax更新网页的自定义触发器

时间:2016-07-21 10:16:57

标签: php jquery ajax

举个例子,让我们有这个伪代码:

$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中执行此操作?它可以实现吗?

1 个答案:

答案 0 :(得分:3)

您可以使用setInterval

setInterval(function(){ 
   $.post('ajax.php', {data: 'x'}, function(reponse) {
      //Do what you want with response 
   });
}, 30000);

Here对此有一些解释。