服务器端事件获取错误

服务器端事件获取错误

问题描述:

所以我在页面的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服务器上运行。

这里是我已经铺设的一些代码。不记得我得到灵感的地方。 websocket.org也许?

function log(x) { 
 
\t console.log(x) 
 
} 
 
;(function() { 
 
\t myWebSocket = new WebSocket('ws://echo.websocket.org'); 
 
\t myWebSocket.onopen = function(myEvent) { 
 
\t \t $('body').append('onOpen called<br>'); 
 
\t \t log(myEvent); 
 
\t \t myWebSocket.send('WebSocket rocks'); 
 
\t }; 
 
\t myWebSocket.onclose = function(myEvent) { 
 
\t \t log(myEvent); 
 
\t \t $('body').append('Disconnected<br>'); 
 
\t }; 
 
\t myWebSocket.onmessage = function(myEvent) { 
 
\t \t log(myEvent); 
 
\t \t $('body').append('Response: ' + myEvent.data + '<br>'); 
 
\t \t myWebSocket.close(); 
 
\t }; 
 
\t myWebSocket.onerror = function(myEvent) { 
 
\t \t log(myEvent); 
 
\t \t $('body').append('Error: ' + myEvent.data + '<br>'); 
 
\t }; 
 
})()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>