案例基于thinkPHP框架:
服务端方法:public function ssefun()
{
ob_implicit_flush();
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
$i=time();
echo 'retry:1000'.PHP_EOL;//每秒执行一次
echo "data: The server time is: {$i}\n\n";
}
前端js:
if(typeof(EventSource)!=="undefined")
{
var source=new EventSource("{:U('home/index/ssefun')}");
source.onmessage=function(event)
{
document.getElementById("result").innerHTML+=event.data + "
";
};
}
else
{
document.getElementById("result").innerHTML="抱歉,你的浏览器不支持 server-sent 事件...";
}
html代码: