像Facebook聊天一样自动更新

时间:2013-03-18 19:37:35

标签: php jquery ajax

在阅读之前,我想要实现的是在div中自动更新内容而不刷新div。 (有点像Facebook聊天,当添加新消息时,我看不到聊天闪烁或闪烁,只是无缝地添加新数据。)

在我的索引中,我有以下标记:

<div>   
  <?php
    if($_SESSION['Login']==1){
      include_once('Branch_Pages/Bar_in.php');
      }
    else{
      include_once('Branch_Pages/Bar_out.php');
      }
  ?>
</div>

Sesssion Variable Login设置为“1”当用户登录时, 在Bar_in.php中,我有一个搜索框,根据php生成的数据列表提供建议。

<datalist  id="StudentList">
  <?php
    for($x=0;$x<$_SESSION['num_rows'];$x++){
        echo'
                <option value="'.$Enroll_F_name[$x].' '.$Enroll_L_name[$x].'" data-id="'.$enroll_data_No[$x].'" label="'.$_SESSION['Enroll_Index_num'][$x].'">
        ';
    }
  ?>
</datalist>

如何在不刷新div的情况下自动更新数据列表(因为刷新会使条形图闪烁)或者在刷新时不闪烁?

1 个答案:

答案 0 :(得分:1)

你可能在这里学到很多东西。

  1. 页面加载后,开始轮询服务器以获取新数据,这基本上意味着每隔几秒钟发出一次请求(5,10,15,30,对您的应用程序有意义)Here is some info on polling
  2. 该请求应该返回您需要的数据,最好是在JSON对象中,或者其他一些易于使用javascript解析的格式。
  3. 将JSON数据转换为表示数据列表中正在重复的内容的dom对象
  4. 使用jQuery将对象追加到datalist子数组