我正试图让一个HTMX WebSocket工作。它是一个聊天系统,应该通过WebSocket取代聊天内容。
这是聊天的代码片段:
<div class="min-h-96">
<div hx-ext="ws" ws-connect="/socket/register-chat/{{.ChatId}}">
</div>
<div id="chat-messages"></div>
</div>
<div class="flex">
<form class="flex w-full" hx-post="/actions/message" hx-target="#chat-messages" id="chat-form">
<input type="text" name="chatId" value="{{.ChatId}}" hidden>
<input type="text" placeholder="Ihre Nachricht..." name="message"
class="w-4/5 p-2 border rounded-l-md border-blue-300 focus:outline-none" autofocus>
<button type="submit"
class="w-1/5 bg-blue-600 text-white py-2 rounded-r-md hover:bg-blue-800 focus:outline-none">Absenden</button>
</form>
</div>
字符串
连接已建立x1c 0d1x
内容接收
但由于某种原因,我不能掌握它不会取代它在DOM中。既不直接到包含WebSocket数据的div中,也不到id为“chat-messages”的div中,当有一个hx-target
命令时。
任何帮助是赞赏:)
1条答案
按热度按时间8wtpewkr1#
所以,我找到了解决方案感谢this post(使用Haskell.)
从服务器返回的内容需要GUID。
所以目前的工作设置如下。
此代码片段创建WebSocket连接
字符串
消息需要 Package 在一个div中,该div的id与目标相同。
型
多么直观和有据可查 smh