首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Chrome SSE (Server-Sent Events) 無法接收 JSP 數據解決

     編輯:程式設計疑難解答

問題現象

Chrome 瀏覽器建立 SSE 連接顯示成功,但 HTML 頁面無法接收 JSP 發送的數據,報錯:

Cannot set property 'selector' of undefined

解決方案

發問者自行解決,常見 SSE 陷阱:

  • MIME 類型必須為 text/event-stream,JSP 需設置 response.setContentType("text/event-stream;charset=UTF-8"),否則報錯 EventSource’s response has a MIME type (“text/html”) that is not “text/event-stream”。
  • 響應頭需禁用緩存:response.setHeader("Cache-Control", "no-cache")。
  • 數據格式:每條消息以 data: ...\n\n 結尾。
  • 連接保持:JSP 需長連接循環發送,或使用 Servlet 異步處理。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved