我试图将参数传递给用于流服务器端事件的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?