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

时间:2014-03-11 14:41:47

标签: 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"]."\n\n";
?> 

我希望看到“查询”显示,但我没有输出。

我也尝试过:

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

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

我在这个问题上找不到多少,但我确实找到了几个将查询字符串附加到EventSource参数中的url的示例:Server Sent Events Stop Start with new parameter

1 个答案:

答案 0 :(得分:2)

我尝试了以下代码,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?