Jquery选项来检查收件箱的消息与php


Jquery options to check for inbox messages with php

是否有更好的方法来使用jquery和PHP来帮助检查消息,如收件箱等。我知道我可以使用设置间隔的ajax来检查特定的PHP文件给我的消息

像这样输入setinterval
$.ajax({
    url: "message.php",
    type: "POST",
    data: { time : time_stamp },
    dataType: "json",
    success: function(data) {
                  // update the div content from here
        }
    }
});

,但有没有更好的方法来做到这一点,因为设定间隔,比如每个10分钟,假设用户在一个页面上花了8分钟,然后转到下一个页面,间隔重新开始,而不是2分钟。

所以我想知道是否有可能触发一个ajax请求使用像PHP的cron作业之类的东西,以更好地处理这种情况。

干杯

您可以使用长轮询来保持连接打开,直到消息可用或达到时间限制。

基本上,您只是给Ajax调用一个很长的超时,并且让服务器端脚本在消息可用之前不响应。您的客户端将保持连接打开直到超时,然后让它再次打开连接。您将获得即时反馈,代价是必须保持打开的HTTP连接。它也被所有浏览器支持。

查看下面的示例和更深入的解释:如何实现基本的"长轮询"?

在我看来,WebSockets将是实现这一点的好方法。这为您提供了实时客户机/服务器交互。并不是所有的浏览器都支持这个功能,但是如果浏览器不支持,您可以获得自动回退到长轮询的客户端库。套接字。IO就是这样一个库,也是一个很好的web套接字客户端库。我从来没有使用PHP做过web套接字服务器,但我想也有很好的选择。