我查看了一些 AJAX 线程来寻找我的问题,但我没有找到适合我的情况的解决方案。事情是这样的:
我有一个包含用户评论的页面。这些评论保存在数据库中,每次用户按下“刷新”按钮时,都会连接到数据库,并获得评论作为响应。如果有任何新消息,则有一个 div “有 _ 新消息”。但是,最后一条消息永远不会正确显示,因为它出现在消息加载之前。
这是代码:
AJAX 函数
function GetComments()
{
$("#cont-comment").empty(); //div that contains the messages
$.ajax(
{
url: "get.php",
dataType: "json",
success: function(data)
{
n_msg=data.length;
for (i=0; i<n_msg; i++)
{
nick=data[i].nick;
msg=data[i].msg;
WriteNewComment(nick,msg);
num_comments=document.getElementsByClassName("comment-msg").length;
}
}
});
}
这就是问题所在。
$("#refresh").click(function()
{
num_comments_before=num_comments;
GetComments();
alert("done");
});
“完成”消息出现在新评论之前。我希望消息“完成”仅在出现新评论时出现 - 当 AJAX 完成时。