服务器端事件-如何传递参数到服务器端脚本?附加查询字符串


Server-side event - how to pass parameters to server-side script? Append query string?

我试图将参数传递给用于流服务器端事件的PHP脚本。我使用Javascript来监听事件。我尝试通过向服务器端脚本url添加查询字符串来传递参数:

Javascript:

var source = new EventSource("demo_sse.php?file=query");

demo_sse.php:

<?php
  header("Content-Type: text/event-stream'n'n");
  echo 'data:'.$_GET["file"]."'n'n";
?> 

我希望看到"query"显示,但是我没有得到任何输出。

我也试过:

echo 'data:'.$_SERVER['QUERY_STRING']."'n'n";

但仍然没有输出。我已经验证了脚本可以正常工作(可以打印显式字符串)。

我没有发现太多关于这个主题,但我确实找到了几个在EventSource参数中将查询字符串附加到url的例子:服务器发送事件停止与新参数开始

我尝试了以下代码,SSE似乎可以工作:

var es = new EventSource('http://localhost/ssed.php?asdf=test111');
es.onmessage=function(e){console.log(e.data);}

ssed.php:

<?php
header("Content-Type: text/event-stream'n'n");
echo 'data:'.$_GET['asdf']."'n'n";

你的onmessage函数是怎么写的?您的浏览器是否可能不支持SSE?