服务器发送事件停止以新参数开始

时间:2012-12-03 15:06:15

标签: php javascript server-sent-events

请帮忙。

我正在使用Server Sent Events根据存储在数据库中的数据动态更新网站。

我现在希望根据上一条消息中收到的数据将新参数('abc.php /?lastID = xxx')传回PHP脚本。

我知道我可以使用event.close来停止当前的“流”,但我很难弄清楚如何为每个动态创建网址的新EventSource使用相同的'EventListener'

有人可以指出我正确的方向吗?

谢谢,

1 个答案:

答案 0 :(得分:6)

好好花了一些时间来更好地掌握Javascript。

var source = new EventSource("xyz.php?last=0");
source.addEventListener('message', onMessageHandler,false);

function onMessageHandler(event) {
   console.log(event.data);//just for debug purposes

   event.target.close(); //close current stream.
   var last = "1234"; // loaded from event.data in my solution.
   var sourceNew = new EventSource("xyz.php?last=" + last); // start another 
   sourceNew.addEventListener('message', onMessageHandler, false); //event

}

我似乎解决了我遇到的问题。

TA