插入 Ajax 轮询



我想知道是否可以将 Ajax 轮询插入到我下面的当前代码中,以便用户帖子每隔几秒钟更新一次,以显示添加到数据库的任何新内容,例如他们的状态和添加的新评论数量以及我构建的提要中的时间戳。这是我到目前为止所拥有的。

<script>
$(document).ready(function(){
     make_call();
    $("form#myform").submit(function(event) {
        event.preventDefault();
        var content = $("#toid").val();
        var newmsg = $("#newmsg").val();
        $.ajax({
            type: "POST",
            url: "insert.php",
            cache: false,
            dataType: "json",
            data: { toid: content, newmsg: newmsg },
            success: function(response){
                $("#homestatusid").prepend("<div id='divider-"+response['streamitem_id']+"'><div class='userinfo'><a href='/profile.php?username="+response['username']+"'><img class='stream_profileimage' style='border:none;padding:0px;display:inline;' border="0" src="imgs/cropped"+response['id']+".jpg" onerror='this.src="img/no_profile_img.jpeg"' width="40" height="40" ></a><div style='cursor:pointer;position:relative;top:0px;float:right;padding-right:5px;' onclick="delete_('"+response['streamitem_id']+"');">X</div><a href='/profile.php?username="+response['username']+"'>"+response['first']+" "+ response['middle']+" "+response['last']+"</a><span class='subtleLink'> said</span><br/><a class='subtleLink' style='font-weight:normal;'>"+response['streamitem_timestamp']+"</a><hr>"+newmsg+"<div style='height:20px;' class='post_contextoptions'><div id='streamcomment'><a style='cursor:pointer;' id='commenttoggle_"+response['streamitem_id']+"' onclick="toggle_comments('comment_holder_"+response['streamitem_id']+"');clearTimeout(streamloop);swapcommentlabel(this.id);">Write a comment...</a></div><div id='streamlike'><a id='likecontext_"+response['streamitem_id']+"' style='cursor:pointer;' onClick="likestatus("+response['streamitem_id']+",this.id);"><div style='width:50px;' id='likesprint"+response['streamitem_id']+"'>Like</div></a><div style='width:50px;' id='likesprint"+response['streamitem_id']+"'></div></div><div id='streamdislike'><a id='dislikecontext_"+response['streamitem_id']+"' style='cursor:pointer;' onClick="dislikestatus("+response['streamitem_id']+",this.id);"><div style='width:70px;' id='dislikesprint"+response['streamitem_id']+"'>Dislike</div></a><div style='width:70px;' id='dislikesprint"+response['streamitem_id']+"'></div></div></div><div class='stream_comment_holder' style='display:none;' id='comment_holder_"+response['streamitem_id']+"'><div id='comment_list_"+response['streamitem_id']+"'><table width=100%><tr><td valign=top width=30px><img class='stream_profileimage' style='border:none;padding:0px;display:inline;' border="0" src="imgs/cropped"+response['id']+".jpg" onerror='this.src="img/no_profile_img.jpeg"' width="40" height="40" ></a><td valign=top align=left><div class='stream_comment_inputarea'><input type='text' name='content' style='width:100%;' class='input_comment' placeholder='Write a comment...'  onkeyup='growcommentinput(this);' autocomplete='off' onkeypress="if(event.keyCode==13){addcomment("+response['streamitem_id']+",this.value,'comment_list_"+response['streamitem_id']+"',"+response['id']+",'"+response['first']+" "+ response['middle']+" "+response['last']+"');this.value='';}"><br/></div></div>");
            }
        });
        return false
    });
});
</script>
setInterval(function(){
    $.ajax({
            type: "POST",
            url: "insert.php",
            success : function(response){
                    //update target area with response
            }
    });
}, 10000); //try update every 10 seconds

试试这个:

var intervalid = window.setInterval(function() {
  //Your ajax query here
}, intervalInMilliSec);

要取消间隔,请使用以下命令:

window.clearInterval(intervalid);

相关内容

  • 没有找到相关文章

最新更新