Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 自动更新页面的代码大纲_Php_Javascript_Long Polling - Fatal编程技术网

Php 自动更新页面的代码大纲

Php 自动更新页面的代码大纲,php,javascript,long-polling,Php,Javascript,Long Polling,我想处理实时信息,我想复制一个相当标准的功能: 它出现在这里,所以当你在一个单一的问题视图中,键入你的答案时,顶部会弹出一个警告,说“有3个新闻答案,单击以显示” 它也出现在Twitter上“此搜索中有5条新推:点击更新” 我非常精通服务器端和客户端代码,我要寻找的是关于这种情况如何发生的基本概要(甚至不是psuedo代码,但可能是纯英语) 服务器上是否每分钟都有一个CRON作业在运行,向页面上的一个长轮询AJAX位发送信号 页面本身是否轮询服务器 欢迎任何和所有解决方案。谢谢 我会通过java

我想处理实时信息,我想复制一个相当标准的功能:

它出现在这里,所以当你在一个单一的问题视图中,键入你的答案时,顶部会弹出一个警告,说“有3个新闻答案,单击以显示”

它也出现在Twitter上“此搜索中有5条新推:点击更新”

我非常精通服务器端和客户端代码,我要寻找的是关于这种情况如何发生的基本概要(甚至不是psuedo代码,但可能是纯英语)

服务器上是否每分钟都有一个CRON作业在运行,向页面上的一个长轮询AJAX位发送信号

页面本身是否轮询服务器


欢迎任何和所有解决方案。谢谢

我会通过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请求……这怎么可能呢?