EventSource中的错误处理
Error handling in EventSource
我正在尝试创建一个使用EvensSource对象(在javascript中)生成服务器发送事件(comet)的页面。我读了很多关于它的教程,但没有找到一个能解释以下问题的:
-
当我订阅EventSource的"oneror"事件时,我得到的参数类型是什么?我怎么知道到底是什么错误?
-
我知道EvensSource有一个readystate,它的变化取决于浏览器。为什么每次"onmessage"事件发生后,我的readystate都会变为0?(我用铬)。
-
如何证明我与服务器的连接保持连接,而不是每次都重新连接?
浏览器:Chrome。
服务器端:Java(如果相关的话,我做的例子是在Java EE预览中。但我将在WebLogic 10R3上工作。
在我的示例中发生的情况是,数据从服务器发送到客户端,然后发生"oneror"事件(readystate为0),3秒后(chrome的默认值),它重新连接并再次发送数据。
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");
如果还有什么你想知道的遗漏,告诉我。希望你能帮助我。
谢谢!
您需要在服务器上保持连接,而不是响应并关闭连接。
请参阅http://jcp.org/en/jsr/detail?id=315,或Glassfish/Grizzly/Jetty服务器。
尝试使用:
response.getWriter.write("data:Hello World")
根据w3schools:输出要发送的数据(始终以"data:"开头)
http://www.w3schools.com/html/html5_serversentevents.asp
- 是否存在Javascript Liferay Service库的文档?如何处理错误情况
- RxJS:在循环中处理错误.js自定义驱动程序
- 通过 AJAX 检索 Blob 时处理错误消息
- Chai正如承诺:当承诺抛出错误时,处理错误
- 如何处理错误'控制台未定义'在powershell中
- Bloodhound的新Typeahead是如何处理错误的
- 请求管道处理错误
- Angular Jasmine SpyOn$resource处理错误
- 如何或如何使用firebase有效地处理错误
- 以处理错误的方式启动javascript承诺蓝鸟链
- JavaScript Regex over CSS:如何处理错误的类
- 模态中的 Django 形式:动态重定向和处理错误
- 在 Angular 中使用拦截器处理错误的通用方法
- Angular JSON-RPC:处理错误
- AngularJS - 处理错误错误:[ng:areq] 在此特殊情况下 (?)
- 绕过 javascript 的 chrome 和 FF 后台选项卡处理错误
- 如何使用 Q 和 JS 捕获或失败来处理错误
- 使用 window.onerror 和 try-catch 块处理错误之间的差异
- jQuery $.get 在处理错误时返回白色错误页
- 处理错误后提交索引数据库事务