Javascript 服务器端事件-如何将参数传递给服务器端脚本?追加查询字符串?

Javascript 服务器端事件-如何将参数传递给服务器端脚本?追加查询字符串?,javascript,php,Javascript,Php,我试图将参数传递给用于流式处理服务器端事件的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"]

我试图将参数传递给用于流式处理服务器端事件的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";
?> 
但仍然没有产出。我已经验证了该脚本是否可以正常工作(可以打印显式字符串)


关于这个主题,我没有找到太多的内容,但我确实在EventSource参数中找到了几个将查询字符串附加到url的示例:。

我尝试了以下代码,SSE似乎起到了作用:

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

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

您需要向服务器传递什么?如果您正在寻找双向通信,请使用WebSockets@Ian:SSE通过传统HTTP发送。这意味着它们不需要特殊的协议或服务器实现就可以工作。另一方面,WebSocket需要全双工连接和新的Web套接字服务器来处理协议。此外,服务器发送的事件具有WebSocket设计上缺乏的各种功能,如自动重新连接、事件ID和发送任意事件的能力。-引用自-是,我需要将数据传递给服务器,以告诉脚本在哪里可以找到文件。@Ian:WebSocket更复杂,需要在服务器上安装模块。我不需要持续的bidi通信,我只想在启动服务器端脚本时发送一点数据。WebSockets对于我所需要的东西来说太过分了。查询字符串的想法似乎应该奏效,但我正在寻求确认。我希望有人能回答我的问题。为什么不只是一个post请求呢?这里有我遗漏的东西吗?
<?php
header("Content-Type: text/event-stream\n\n");
echo 'data:'.$_GET['asdf']."\n\n";