使用AJAX检查新邮件

时间:2011-01-02 23:47:52

标签: php ajax

很简单,我需要在最终用户收到新的私人消息时提醒他们。 从研究和其他观点的结合,我意识到我需要使用AJAX。

mysql查询将是

SELECT id FROM tbl_messages WHERE to_viewed = 1

因此,当有人发送消息时,我希望屏幕上弹出一个警告,通知用户没有重新加载页面。

我完全不知道我在做什么,但知道我想要什么。 真的需要帮助,AJAX绝对是我想改进的东西,因为它开辟了更大的可能性!

由于

2 个答案:

答案 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)

您在客户端有两个选项:

  1. 通过Ajax轮询:每隔X秒,向服务器发送请求以检查消息。

  2. 通过Comet推送服务器:打开与服务器的连接,等待服务器响应消息。

  3. 有许多客户端库可用。对于Ajax,您可以使用JQuery。对于Comet,请查看Dojo,但您的服务器/平台必须支持Comet。我知道Java可以使用Jetty,但我不确定其他平台。