SSE`this.ventSource.onMessage`调用失败。错误`事件源的响应具有不是文本/事件流的MIME类型(应用程序/json";)。
ANGLE Server Sent事件this.eventSource.onmessage
调用失败,错误"EventSource's response has a MIME type ("application/json") that is not "text/event-stream". Aborting the connection."
我在Chrome Dev工具(附图)中看到有两个Content-Type
被返回。
后端代码:SpringReader/Rest
@GetMapping(value="/events",produces = "text/event-stream;charset=UTF-8")
public Flux<ConsumerEvent> getProductEvents(){
return kafkaService.getReceiverRecordAllFlux()
.map(record->
new ConsumerEvent(record.topic(),record.value())
);
}
}
前端:角度
public startKafkaTopicInfoEventSource(): void {
let url = BASE_URL;
this.eventSource = new EventSource(url);
this.eventSource.onmessage = (event) => {//Error: EventSource's response has a MIME type ("application/json") that is not "text/event-stream". Aborting the connection
this.zone.run(() => {
// some code here
})
}
// other code here
}
方法this.eventSource.onmessage
给出错误EventSource's response has a MIME type ("application/json") that is not "text/event-stream". Aborting the connection.
任何帮助都是最好的!
解决方案
我使用ASP.Net(和NodeJS)时遇到了同样的问题。
我不知道这是否有帮助,但我体验到,如果您使用Moesif Origin & CORS Changer(在标准配置中,我没有测试自定义配置),某些标头会被插件(至少是Content-Type和X-Content-Type-Options)添加或覆盖(选择了一个)。
因此,可能是您在Chrome中安装的某个插件导致了这一问题。尝试在不同的浏览器中运行或不使用插件。
希望我能帮助别人,祝你有愉快的一天!
相关文章