服务器已发送事件在Chrome中无效

Vik*_*iya 9 javascript java tomcat google-chrome jersey

我正在开发一个带有角度4和java的Web应用程序.我正在使用服务器发送的事件将一些文本数据发送到前端.在后端,我使用的是运动衫,这是我的后端代码

eventOutput.write(new OutboundEvent.Builder()
       .id(decodedToken)
       .name("responseBody")
       .data(String.class, respBody.toString()).build());
Run Code Online (Sandbox Code Playgroud)

前端我使用角4和代码看起来像

var evtSource = new EventSource("url");
 source.addEventListener('eventName', (event) => {
    console.log(event);
});
Run Code Online (Sandbox Code Playgroud)

在Mozilla Firefox中一切正常.当我使用带有tomcat和windows的chrome时一切正常.但是使用tomcat + linux和chrome,我在console.as中看到了错误

EventSource的响应有一个不是UTF-8的字符集("iso-8859-1").中止连接.

可能是什么问题.修复是什么?请帮忙.任何帮助,将不胜感激.谢谢.

Ari*_*yen 4

Tomcat 默认支持字符集:iso-8859-1。请尝试

@Produces("application/json;charset=UTF-8")
eventOutput.write(new OutboundEvent.Builder()
       .id(decodedToken)
       .name("responseBody")
       .data(String.class, respBody.toString()).build());
Run Code Online (Sandbox Code Playgroud)