日期:2014-05-16  浏览次数:20663 次

jQuery读取数据时,后台更新,前台是否能同时更新
[code=PHP][/code]比如:
数据库有10条数据。
有台页面上也在打印出10条,
而在这时,后台添加进了10条信息。前台页面能否同时显示出来呢(不刷新)


下面是我写的例子,但不能实时更新。大家帮看看

HTML页面
HTML code

<script src="jquery.js"></script><--1.2的-->
<script src="json.js"></script>
<script src="a.js"></script>
<div id="dv"> 
</div>



JS文件

JScript code

function load() { document.getElementById("load").display="none"; } 
 var t = "bb";
 $.ajax({
    url: "a.php",//获取数据文件路径
    type: "post",              //提交方式
    data:"selectID="+ escape(t) +"", //传递参数
    success: function(data,textStatus){
    if(data==""){
   $('#dv').css('background', '#ffffff').html("暂无数据").show();
   }else
   {
    $('#dv').css('background', '#ffffff').html(data).show();
}


   },
     error: function(o){
}
});



PHP文件

PHP code

$sql="select * from emiyes_article order by id desc";
        $query=mysql_query($sql);
        $num=mysql_num_rows($query);
        while($row=mysql_fetch_array($query)){
                
                echo "&nbsp;<a href=info.php?id=".$row["id"].">".substr($row["title"],0,46)."</a><br>";
        }



------解决方案--------------------
前台也要更新,那你只得每隔一段时间让前台发布请求去轮询后台,如果数据有变化,就通过回调函数来改变前台页面的值。这要通过ajax来完成。你用jquery也可以呀。
------解决方案--------------------
setInterval 执行的是一个function ,你挂一个ajax,你想它做什么呢?
------解决方案--------------------
前台要定时用ajax请求才可以啊
------解决方案--------------------
setInterval定时从服务器获取数据
JScript code
function load() { document.getElementById("load").display="none"; } 
function getData(){
 var t = "bb";
 $.ajax({
    url: "a.php",//获取数据文件路径
    type: "post",              //提交方式
    data:"selectID="+ escape(t) +"", //传递参数
    success: function(data,textStatus){
      if(data=="")$('#dv').css('background', '#ffffff').html("暂无数据").show();
      else $('#dv').css('background', '#ffffff').html(data).show();
    },
     error: function(o){}
  });
}

///////
setInterval(getData,100);

------解决方案--------------------
探讨

这样更新了,如何能将新的数据写到DIV里呢