我想知道是否有人可以通过示例来展示facebook如何检查其数据库中的新消息?它似乎定期执行,而不加载页面。在PHP / MySQL / Jquery脚本中实现此目的的最佳方法是什么?
任何帮助总是受到赞赏! 干杯,Lea
答案 0 :(得分:4)
你可以这样做:使用periodical updater
<span id="inbox-title"></span>
<script>
$.PeriodicalUpdater('/path/to/service', {
method: 'get', // method; get or post
minTimeout: 1000, // starting value for the timeout in milliseconds
maxTimeout: 8000, // maximum length of time between requests
}, function(data) {
$('#inbox-title').html('you have ' + data + 'new messages');
});
</script>
另一种选择是绑定 onmousemove 事件并在快乐时调用ajax
答案 1 :(得分:0)
实际上存在“页面加载”,但它是一个隐藏的请求,不会重新加载显示的页面。查看jQuery Ajax command documentation以获取有关实现此目的的最简单方法之一的更多详细信息(特别是因为您已经提到过使用jQuery)。
答案 2 :(得分:0)
使用COMET技术查看反向ajax,这是一个完美的用途。
它背后的想法是启动一个ajax请求并让它超时,这可能是60秒,当它超时,再次启动它,这里浏览器有一个(几乎)持久的服务器连接,如果(对于一个简单示例)为用户创建消息。服务器可以回复已经发出的一个挂起的ajax请求(在这种情况下是由消息的接收者)。
xmlhttprequest和服务器正在等待时,没有数据被传输,但关闭和重新打开连接可能会对您的服务器造成负担。