【发布时间】:2012-09-15 14:32:31
【问题描述】:
我正在尝试在 javascript 中使用 EventSource。但是一旦我使用它们,我就会遇到一些麻烦。首先,在重新加载页面时,EventSource 无法重新连接。其次,使用它会阻止 XmlHttpRequests 正常工作。在下面的代码中,如果我注释了 event_source 相关代码,则 xml 请求可以正常工作。如果我创建事件源并添加监听器,xml 请求永远不会成功。
envent_source = new EventSource('event-source.php');
envent_source.addEventListener('update', function(event) {
console.log("update event");
}, false);
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (this.readyState == this.DONE) {
if (this.status == 200)
console.log("received");
}
}
request.open("GET", "document.xml");
request.send();
我错过了什么吗? EventSource需要谨慎使用吗?
【问题讨论】:
-
我看不出上面的代码有什么问题。我猜你的 HTTP 服务器没有回复 GET document.xml 请求。确保服务器分别处理 event-source.php 和 document.xml 的 GET 请求。
-
怎么能不分开处理呢?
-
我在另一个主题link 中找到了最后一个问题的答案:php 会话防止同时执行来自同一客户端的请求脚本。谢谢你。
标签: php javascript xmlhttprequest