2

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

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

如果您通过htmx提交 html 片段,这是否仍然需要?

4

1 回答 1

1

总的来说,您不需要实现 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。

于 2021-01-10T22:32:18.443 回答