我最近开始学习jQuery而且我正在尝试创建一个小消息系统,我已经让消息每2秒更新一次。但是,如果没有任何新消息,我不希望消息更新。这是我当前的消息更新代码。
$(document).ready(function () {
setInterval(function() {
$.get("get_messages.php", function (result) {
if ($('.messages').html() != result){
$('.messages').html(result);
}
});
}, 2000);
});
即使div和结果应该相同,if语句似乎也不起作用。
答案 0 :(得分:0)
我希望您在服务器上有时间戳或messageID,可以告诉您的脚本在上次检查后是否有新消息。
离。
var lastMessageID = 0;
function checkMessages(){
$.ajax(url,{
data:{
last_message_id:lastMessageID
},
success:function(data){
// Count new messages
if (Object.keys(data).length > 0){
$.each(data,function(index, item){
$('.messages').prepend("<span class='message'>"+item.message+"</span>");
});
// We suggest that this is our last message
lastMessageId = data[Object.keys(data).length-1].id;
}
}
});
}
var intervalM = setInterval(function(){
checkMessages();
},2000);
请使用gziped JSON数据保存一些树。 :)