我正在使用django与django-channels和htmx。
在某些情况下,我的django视图会向订阅了相关频道的用户发送SSE事件,例如通知。其中一些事件(取决于事件名称)需要触发模态弹出窗口(例如电子商务订单或服务完成后的评级模态)。
我已经实现了服务器端事件和数据生成的需求。我想在前端使用htmx sse扩展(django模板)。
我的问题是,我想得到一个事件,比如order_complete
,并使用它来触发一个hx-get
调用到一个特定的url,该url将由sse事件发送。然后,hx-get
的响应将被放置在模态视图逻辑存在的占位符中。我可以得到该事件并触发get请求,如htmx sse扩展文档中所述。但我不知道如何获取要放入hx-get的url。
我对JavaScript的了解很少,对htmx的了解也不多。我看过带外交换,但我不确定这是否是我所需要的。
我将感谢任何意见或建议,继续包括一个非htmx解决方案,如果它的性能更好或更容易。
- 谢谢-谢谢
1条答案
按热度按时间tktrz96b1#
您可以将参数附加到(固定)url。
在客户端javascript中处理sseMessage事件。
请参阅https://htmx.org/attributes/hx-vals/
如果evt.detail.data是123:
HTML:
更新
您也可以只针对order_complete使用事件侦听程式。