2012-05-29 63 views
0

我正在尝试开发一种应用程序,每分钟检查一次新邮件的MYSQL表,如果有任何应该警告用户并显示该邮件。这是我使用的代码,我应该如何修改它以使其工作?检查JSON数据是否发生了变化并发出警报行

setInterval ("getMessages()", 60000); 
var oldmessage = ""; 
function getMessages() { 
    $.getJSON(serviceURL + 'messages.php?ID=' + ID, function(message) { 
     if(JSON.stringify(message) != JSON.stringify(oldmessage)){ // old message is not same as new 
      var messages = data.key[0]; 
      alert(messages.NEW); 
     }); 



      oldmessage = message; 

} 

那么我现在要做的是旧消息保存到变量并分钟后进行比较,如果它改变了我的警报行新

+1

umm if语句的close标记在哪里? – zaw

回答

0

可能的解决方案是,你需要一个新列在mysql中标记为查看与否。默认情况下,不会被查看(比如0)。在您的PHP代码中,您应该检索一行标记为“未查看”或0的行。同样,您应该通过AJAX进行显示,并使用1(查看)更新该行。

如果您没有收到任何行,则不会向AJAX发送任何消息,因此不会处理消息,因此不会找到新行。

这只是一个逻辑,希望它有帮助。

相关问题