如何在一段时间间隔后附加新更新

时间:2015-02-20 12:20:09

标签: javascript php jquery ajax

在我的网站时间表中,我想在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>

2 个答案:

答案 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);
});