1

我正在使用 htmx 1.6.1,并且正在试验服务器发送事件的支持。我正在实现一个简单的聊天,当用户发布消息时,我希望将此消息发送给所有聊天参与者。因此,当我在服务器上收到一条新消息时,我会将其转换为 HTML 片段并通过 SSE 连接将其发送到每个客户端。例如,当聊天页面加载时,它会返回包含所有聊天消息的 HTML:

<ul hx-sse="connect:/chat" ...>
 <li>john: Chat message 1</li>
 <li>jane: Chat message 2</li>
</ul>

现在,如果“john”向某个资源发布另一条消息,例如“hello”,那么我想<li>john: hello</li>通过 SSE 向每个客户端发送此 HTML:

<ul hx-sse="connect:/chat" ...>
 <li>john: Chat message 1</li>
 <li>jane: Chat message 2</li>
 <li>john: hello</li>
</ul>

但我不知道该怎么做。在客户端收到 SSE 事件以再次获取整个“ul”后,我设法触发了对服务器的 GET ,但这不是我想要做的。(我的想法)我想做的是在“ul”标签的“beforeend”插入SSE事件的内容,而不向服务器发出额外的请求。

我怎样才能做到这一点?

4

0 回答 0