Php 自动更新页面的代码大纲
我想处理实时信息,我想复制一个相当标准的功能: 它出现在这里,所以当你在一个单一的问题视图中,键入你的答案时,顶部会弹出一个警告,说“有3个新闻答案,单击以显示” 它也出现在Twitter上“此搜索中有5条新推:点击更新” 我非常精通服务器端和客户端代码,我要寻找的是关于这种情况如何发生的基本概要(甚至不是psuedo代码,但可能是纯英语) 服务器上是否每分钟都有一个CRON作业在运行,向页面上的一个长轮询AJAX位发送信号 页面本身是否轮询服务器Php 自动更新页面的代码大纲,php,javascript,long-polling,Php,Javascript,Long Polling,我想处理实时信息,我想复制一个相当标准的功能: 它出现在这里,所以当你在一个单一的问题视图中,键入你的答案时,顶部会弹出一个警告,说“有3个新闻答案,单击以显示” 它也出现在Twitter上“此搜索中有5条新推:点击更新” 我非常精通服务器端和客户端代码,我要寻找的是关于这种情况如何发生的基本概要(甚至不是psuedo代码,但可能是纯英语) 服务器上是否每分钟都有一个CRON作业在运行,向页面上的一个长轮询AJAX位发送信号 页面本身是否轮询服务器 欢迎任何和所有解决方案。谢谢 我会通过java
欢迎任何和所有解决方案。谢谢 我会通过javascript设置超时来询问服务器。不过,这只是一个有根据的猜测。您可以使用Javascript
setTimeout
方法在客户端定期运行的AJAX调用来实现这一点。您将拥有一个Javascript函数,该函数调用服务器端方法,该方法检查是否发生了更新,显示任何更新,然后调用setTimeout来调用自身
伪代码:
function updateCheck()
{
//make ajax call
//do something if any update has occurred
setTimeout("updateCheck()", 10000); //second param is in milliseconds
}
看起来SO使用定期更新程序向url发出ajax请求,如下所示: 这将返回一个JSON结果:
{"Result":false,"Count":0}
以下是新答案存在时的结果示例:
{"Result":true,"Count":1}
但是FireBug没有显示任何AJAX请求……这怎么可能呢?