事件 - htmx:noSSESourceError
htmx:noSSESourceError 是 HTMX 的一个错误事件,在你使用了 SSE(Server-Sent Events)扩展时,如果无法建立事件连接(没有有效的 sse-connect 源),就会触发这个事件。
这通常是由在使用 <div sse-swap="..."> 时 忘记设置或设置了无效的 sse-connect 连接地址。
事件参数
- detail.elt - 具有不良 SSE 触发器的元素
例如
<!-- 错误:缺少 sse-connect 属性 -->
<div sse-swap="message">
等待接收服务器消息...
</div>
以上的代码就会因为没有配置 sse-connetc 属性从而触发 htmx:noSSESourceError 事件。
示例代码
<script>
document.body.addEventListener("htmx:noSSESourceError", function(evt) {
console.error("SSE 错误:未指定 sse-connect 源");
alert("页面配置错误:缺少 SSE 源地址");
});
</script>
问题排查建议
当发生 htmx:noSSESourceError 事件时,建议由以下几方面排查代码:
-
是否正确加载了 htmx-ext-sse.js
-
是否为使用 sse-swap 的元素设置了非空、有效的 sse-connect 属性
-
SSE 服务是否响应正确(Content-Type: text/event-stream)