如何更改EventSource
声明中的源集?
我试过这样的事情:
var source = new EventSource("/blahblah.php?path=" + (window.location.pathname));
// Few lines later...
source.url = "/blahblah.php?path=" + url;
但是,source.url
保持不变......
这甚至可能吗?或者也许有其他方法可以做到这一点?
不,这是不可能的。传递给EventSource()
的新URL会创建一个新的EventSource
对象。
guest271314向我提出了很多解决方案,但对我来说,与sse保持相比会更好,更快,更简单。
我通过关闭和删除(所有必要的)源var来更改源。
这就是我做的方式:
source.url = "/blahblah2.php";
source.close();
delete source;
//Redefine source
重要提示:如果您使用var
定义了源代码,则无效!重新定义也应该没有它!