未在服务器上的必需PHP文件中设置EventSource“event”参数

时间:2017-10-09 05:16:03

标签: javascript php eventsource

我不确定如何最好地解释这个问题。

我有一个Javascript EventSource对象,其中包含一些自定义事件处理程序,如下所示:

var source = new EventSource('updates.php');
source.addEventListener('add', addHandler, false);
source.addEventListener('remove', removeHandler, false);

在updates.php中,我可以使用更新流的“event:”参数定义自定义事件,如下所示,以触发相应的处理程序。

echo "event: add" . PHP_EOL;
echo "data: " . $message . PHP_EOL;

这在updates.php

中工作正常

updates.php通过require_once包含updates2.php。这也适用于updates2.php,并在我的Javascript中调用正确的处理程序。

updates2.php通过require_once包含updates3.php。这不适用于updates3.php - 所有事件都默认为“消息”类型,不会触发自定义处理程序。

1 个答案:

答案 0 :(得分:0)

我最终使用了其他一些地方定义的解决方法。

我没有尝试自定义event:参数,而是使用JSON对象作为data:参数,并且可以在其中添加我喜欢的任何自定义字段。