所以我在页面的javascript中有以下代码。
<script>
if (!!window.EventSource)
{
var source = new EventSource('Stream.cfm');
source.onmessage = function(event)
{
document.getElementById("result").innerHTML += event.data + "<br>";
};
}
else
{
// Result to xhr polling :(
}
source.addEventListener('message', function(e) {
console.log(e.data);
}, false);
source.addEventListener('open', function(e) {
// Connection was opened.
console.log('Open');
}, false);
source.addEventListener('error', function(e) {
console.log('Error');
console.log(e);
source.close();
if (e.readyState == EventSource.CLOSED) {
// Connection was closed.
console.log('Closed');
}
}, false);
</script>
<div id="result"></div>
在服务器端,我有这个..
<cfcontent type="text/event-stream">
data: Hello World!\n\n
我从网上的几个网站上复制了这个,正如我所看到的,从逻辑上讲,这应该有效。但是,当我运行它时,我收到一个错误。它打开正确,但我收到错误并关闭。
如果有人可以请我指出我出错的地方,我们将非常感激。它加载正常,它保持清爽...只是我得到错误,它停在那里。如果我拿出收盘,它就会继续下去并且一直出错。
如果它有帮助,这是在Lucee服务器上运行。
答案 0 :(得分:0)
这里有我编写的一些代码。不记得我从哪里获得了灵感。 websocket.org可能吗?
function log(x) {
console.log(x)
}
;(function() {
myWebSocket = new WebSocket('ws://echo.websocket.org');
myWebSocket.onopen = function(myEvent) {
$('body').append('onOpen called<br>');
log(myEvent);
myWebSocket.send('WebSocket rocks');
};
myWebSocket.onclose = function(myEvent) {
log(myEvent);
$('body').append('Disconnected<br>');
};
myWebSocket.onmessage = function(myEvent) {
log(myEvent);
$('body').append('Response: ' + myEvent.data + '<br>');
myWebSocket.close();
};
myWebSocket.onerror = function(myEvent) {
log(myEvent);
$('body').append('Error: ' + myEvent.data + '<br>');
};
})()
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;