在没有页面加载AJAX / PHP / Facebook样式的情况下检索数据库值

时间:2009-12-19 23:27:12

标签: php jquery mysql ajax facebook

我想知道是否有人可以通过示例来展示facebook如何检查其数据库中的新消息?它似乎定期执行,而不加载页面。在PHP / MySQL / Jquery脚本中实现此目的的最佳方法是什么?

alt text

任何帮助总是受到赞赏! 干杯,Lea

3 个答案:

答案 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和服务器正在等待时,没有数据被传输,但关闭和重新打开连接可能会对您的服务器造成负担。