很简单,我需要在最终用户收到新的私人消息时提醒他们。 从研究和其他观点的结合,我意识到我需要使用AJAX。
mysql查询将是
SELECT id FROM tbl_messages WHERE to_viewed = 1
因此,当有人发送消息时,我希望屏幕上弹出一个警告,通知用户没有重新加载页面。
我完全不知道我在做什么,但知道我想要什么。 真的需要帮助,AJAX绝对是我想改进的东西,因为它开辟了更大的可能性!
由于
答案 0 :(得分:7)
使用jQuery简洁,如果您没有任何JavaScript经验,我建议学习。
var check;
function checkForMessages() {
$.get("/newMessages.php", function(data) {
if(data == 1) {
//There are new messages
clearInterval(check);
alert("You have new mail!");
}
});
}
check = setInterval(checkForMessages, 60000);
以上JavaScript将每隔60秒ping一次服务器。如果有新消息,脚本“newMessages.php”应返回“1”。你已经写了查询,所以我认为你可以搞清楚。
答案 1 :(得分:1)
您在客户端有两个选项:
通过Ajax轮询:每隔X秒,向服务器发送请求以检查消息。
通过Comet推送服务器:打开与服务器的连接,等待服务器响应消息。
有许多客户端库可用。对于Ajax,您可以使用JQuery。对于Comet,请查看Dojo,但您的服务器/平台必须支持Comet。我知道Java可以使用Jetty,但我不确定其他平台。