gpt4 book ai didi

php - HTML5 服务器发送的事件 : empty response

转载 作者:行者123 更新时间:2023-11-30 06:31:47 25 4
gpt4 key购买 nike

我正在使用 PHP (CodeIgniter) 编写 Web 服务。我尝试按照 HTML5 中服务器发送事件的几个基本教程进行操作。

但是,我无法运行它们中的任何一个。
正如预期的那样(每 3 秒),我收到了正确的 header ,但我没有收到任何数据。
可能是 WAMP 配置或 CodeIgniter 问题?


Controller 方法的代码:

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();
}

View 代码(部分):

<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 header :

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 和响应/结果中用双引号替换单引号解决了这个问题。

   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";

关于php - HTML5 服务器发送的事件 : empty response,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17097401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com