我試圖製作一個頁面,使用EvenSource對象(在JavaScript中)發出服務器發送的事件(彗星)。 我看了很多關於它的教程,並沒有發現一個,說明以下幾個問題:EventSource中的錯誤處理
當我訂閱的EventSource的「onError的」事件 - 什麼是參數我得到的類型?我如何確切知道錯誤是什麼?
我知道EvenSource有一個readystate,它根據瀏覽器而變化。爲什麼在每個「onmessage」事件發生後,我的readystate變爲0? (我使用鉻)。
如何證明我與服務器的連接保持連接並且不會每次都重新連接?
瀏覽器:Chrome。
服務器端:。爪哇(如果是相關的我所做的例子是Java EE預覽,但我要在WebLogic 10R3工作
在我的例子會發生什麼事是,數據被從服務器發送到客戶端,比「的onerror」事件發生時(readyState爲0)和3秒(默認爲鉻)之後它重新連接,並再次發送該數據
的JavaScript代碼:
var source = new EventSource("TrySRV");
source.onmessage = function(event){
alert(event.data);
}
source.onerror = function(event){
alert(source.readystate);
}
Java代碼:
response.setHeader("Content-Type", "text/event-stream");
response.setHeader("Cache-Control", "no-cache");
response.getWriter.write("Hello World");
如果還有其他遺漏,你想知道 - 告訴我。 希望你能幫助我。
謝謝!