You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HTMX返回286状态码仍无法停止轮询的原因咨询

HTMX返回286状态码后轮询仍持续的原因及解决办法

核心问题出在你的DOM替换逻辑和286状态码的作用机制上:

  • 286状态码仅负责停止当前正在运行的轮询触发器,但如果服务器返回的286响应内容里,仍然包含带有hx-trigger="every 1ms"属性的#board表单元素,HTMX完成outerHTML替换后会重新绑定这个轮询触发器,导致请求持续发起。
  • 你的hx-select="#board"和hx-swap="outerHTML"会用返回的新表单完全替换原有表单,只要新表单还带着轮询触发属性,轮询就会自动重启。

解决办法:

  • 当服务器返回286状态码时,确保响应中的#board表单移除hx-trigger="every 1ms"属性。示例返回内容:
    <form
        id="board"
        hx-post="/xxx/start"
        hx-select="#board"
        hx-swap="outerHTML"
    >
        <!-- 原表单的其他内容 -->
    </form>
    
  • 另外,every 1ms的轮询间隔极不合理,会给浏览器和服务器造成极大压力,建议测试时调整为every 1s这类合理间隔,避免极端场景干扰问题排查。

内容的提问来源于stack exchange,提问作者Brian Hanna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 00:14:52