HTML5 Server-Sent Events : empty response


HTML5 Server-Sent Events : empty response

我正在使用PHP (CodeIgniter)编写web服务。我试着在HTML5中遵循几个基本的服务器发送事件教程。

然而,我无法运行它们中的任何一个。
我正在接收适当的标题,如预期的(每3秒),但我没有收到任何数据。
可能是WAMP配置或CodeIgniter问题?


控制器方法代码:

public function sse() {
        header('Content-Type: text/event-stream');
        header('Cache-Control: no-cache');
        $time = date('r');
        echo "data: The server time is: {$time}'n'n";
        flush();
    }

视图的代码(部分):

<div id="play"> msg </div>
<script>
    var source = new EventSource("<?php echo site_url('play/sse') ?>");
    source.onmessage=function(event) {
        document.getElementById("play").innerHTML+=event.data + "<br>";
    };
</script>

HTTP报头:

Request URL:http://localhost/index.php/play/sse
Request Method:GET
Status Code:200 OK
Request Headersview source
Accept:text/event-stream
Accept-Encoding:gzip,deflate,sdch
Accept-Language:pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4
Cache-Control:no-cache
Connection:keep-alive
Cookie: ...

我也有同样的问题,我通过在header和response/results中用双引号替换单引号来解决这个问题。

   header("Content-type: text/event-stream");
   header("Connection: Keep-alive");
   header("Cache-Control: no-cache");
   echo "retry:1000'n";
   $result = "data:".json_encode($result)."'n'n";