在我的网站时间表中,我想在Facebook时间线之类的时间间隔之后添加新的更新。所以我在这里阅读了许多关于彗星,长轮询,网络套接字等的文章,以及许多关于网络的文章。但是我可以理解如何在没有刷新页面或任何div的情况下实现任何脚本来附加新更新。
我对jQuery,Javascript知之甚少。但是我已经通过Stackoverflow的帮助解决了更多问题。所以请帮我做一个新手。
你也可以说我提供一些不起作用的工作实例。但我无法理解如何以及如何做。
在这里,我将时间轴和墙壁相关所有脚本。
我的评论.php
function getComments($userwallid){
$results = mysqli_query($dbh,"SELECT * FROM comments_lite WHERE qazi_id='$userwallid' ORDER BY id DESC LIMIT 20") or die(mysqli_error($dbh));
echo '<div class="comments"><div id="updates">';
while($rows = mysqli_fetch_assoc($results)) {
$id = $rows['id'];
$uesrpage_id = $rows['userpage_id'];
$likes = $rows['likes'];
$username = $rows['username'];
$description = $rows['description'];
$date = $rows['date'];
// etc all..
echo'<div class="case postcom'.$id.'"><div class="comment">
<div class="cdomment_cheder">
<div class="avatarcnt">
<img alt="" src="uploadprofile/'.$u_imgurl.'"/></div><div class="newkochi">';
if ($url=="") {
echo'<p class="name">'.$username.' Says:</p>'; }
else echo'<p class="name"><a href="'.$url.'" title="'.$username.'">'.$username.'</a> Says:</p>';
echo'<span class="cdomment_time">'.$date.'</span>
<div class="cdomment_text">';
if ($description=="") {echo '';}
else echo''.nl2br(smileys($description)).'<br>';
if ($img=="") {echo '';}
else echo'<br><img src="comimage/'.$img.'" />';
echo '</div>';
//delete button
//Likes button
echo'</div></div></div></div>';
//Reply script goes here...
echo 'same as aove';
}
时间表页面
<div class="timelineupdate">
<?php
include_once('comment.php');
getComments("$uesrid");
?>
</div>
答案 0 :(得分:0)
使用像这样的ajax调用做一些事情
function callMe()
{
$.ajax({
type: "GET",
url: "MyComment.php",
data: "id=1",
success: function(response){
$("#testDiv").html(response);
}
});
}
// Call it
setInterval(callMe, 5000); //every 5 secs
答案 1 :(得分:0)
在JS / PHP中真的没那么复杂:
(JS):
setInterval(poll,2000);
function poll(){
$.get( 'poll.php', function(content){
$('#pollContainer').prepend(content);
});
}
在NodeJS中,使用socketIO,你会去:
(服务器):
socket.emit( 'new content', content );
(客户):
socket.on( 'new content', function(content){
$('#pollContainer').prepend(content);
});