我正在尝试制作一个实时评论系统。我已经通过使用jquery setTimeout来实现这一点。但问题是每个时间间隔的页面都令人耳目一新,所以我认为这不是一个好方法。
这是代码
function update_comment(){
setTimeout(function(){
$.getJSON("comment_fetch.php",function(data){
$.each(data.result,function(){
//console.log(this["pid"]);
$(".commentItem"+this["pid"]).append("<p class='message'><a class='name' href='#'><small class='text-muted pull-right'><i class='fa fa-clock-o'></i>"+this["dc"]+"</small><i class='fa fa-user'></i>"+this["un"]+"</a>"+this["c"]+"<a href='#' class='replyLink'><i class='fa fa-pencil'></i> Reply</a></p>");
});
$.each(data.pidcc,function(){
//console.log(this["pid"]+" "+this["pcc"]);
$("#cmnt_count"+this["pid"]).html("Comment ("+this["pcc"]+")");
});
});
update_comment();
},200);
}
有什么解决方案可以在不使用setTimeout的情况下制作实时评论系统吗?
答案 0 :(得分:0)
当然页面很新鲜,你要为它添加更多数据。具体你想避免什么?
在Javascript中,基本上有两种代码执行方法:定时器或事件。 (从技术上讲,计时器也是一个事件,但它的处理方式不同)您可能不希望根据用户或浏览器事件加载内容,因此您需要某种外部系统在更新发生时通知您(也许是通过WebSocket),或者您需要通过计时器来完成。