我不确定如何最好地解释这个问题。
我有一个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 - 所有事件都默认为“消息”类型,不会触发自定义处理程序。
答案 0 :(得分:0)
我最终使用了其他一些地方定义的解决方法。
我没有尝试自定义event:参数,而是使用JSON对象作为data:参数,并且可以在其中添加我喜欢的任何自定义字段。