微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果您提交 HTML 片段,需要发布/重定向/获取?

如何解决如果您提交 HTML 片段,需要发布/重定向/获取?

过去我使用 Post/Redirect/Get 模式:

  • html 已通过 POST 提交到服务器
  • 服务器处理了数据。
  • 如果一切正常,服务器会响应一个 http 302(重定向
  • 客户端将页面重定向到新位置。

如果您通过 htmx 提交 html 片段,还需要这样做吗?

解决方法

总的来说,您不需要实现 PRG 模式。

由于 htmx 使用 AJAX 进行大多数交互,浏览器历史记录中没有请求,点击刷新不会重新提交 POST(或 DELETE 或其他)。

也就是说,htmx 尝试与 PRG 模式兼容,并在重定向发生时尝试更新 URL:

https://github.com/bigskysoftware/htmx/blob/1d4c79490e491813ffb780354ec5df6d080b1e09/src/htmx.js#L2146

https://github.com/bigskysoftware/htmx/blob/1d4c79490e491813ffb780354ec5df6d080b1e09/src/htmx.js#L1851

如果您执行内联编辑之类的操作:

https://htmx.org/examples/click-to-edit/

这一点在很大程度上变得毫无意义,因为您可以在与查看 URL 相同的 URL 上使用编辑 UI。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。