如何通过原生JavaScript触发基于元素的HTMX GET请求?
解决方案
触发
htmx:trigger事件
用htmx.trigger()触发目标元素的htmx:trigger事件,就能让HTMX执行该元素上配置的hx-get请求:const targetEl = document.getElementById("your-element-id"); htmx.trigger(targetEl, "htmx:trigger");调用元素的
htmx.request()方法
HTMX会给每个元素挂载htmx.request()方法,直接调用即可发起请求,还能按需覆盖原有配置:const targetEl = document.getElementById("your-element-id"); // 执行原有hx-get配置的请求 targetEl.htmx.request(); // 可选:修改请求参数 targetEl.htmx.request({ url: "/custom-path", method: "GET" });全局
htmx.ajax()方法
如果你不想通过元素引用发起,也可以用全局方法手动指定参数,同时复用元素上的HTMX配置:const targetEl = document.getElementById("your-element-id"); htmx.ajax("GET", targetEl.getAttribute("hx-get"), { target: targetEl.getAttribute("hx-target"), swap: targetEl.getAttribute("hx-swap") });
补充说明:你之前对htmx.trigger()的理解有误,它支持触发HTMX自定义事件,htmx:trigger就是专门用来触发元素预设HTMX请求的事件,并非只能处理标准HTML事件。
内容的提问来源于stack exchange,提问作者Deane
相关产品推荐
相关产品推荐

