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

htmx: hx-target: 交换 html 与整页重新加载

如何解决htmx: hx-target: 交换 html 与整页重新加载

我有一个包含多个表单的页面

如果用户提交了一个表单,那么只有当前表单应该被提交(而不是页面的其他表单)。

在服务器上验证表单。

案例 1:如果验证失败,则服务器将 html 发送到客户端,并且应该交换特定表单并将新表单添加到 DOM。这个新表单包含一条错误消息。用户现在可以修复他的错误并再次提交表单。

案例2:表单验证成功,数据被保存。现在我想在客户端触发整页重定向

我阅读了 htmx hx-target 的文档。我设法让 case-1 正常工作(我喜欢 htmx 的这个功能)。

但是服务器如何触发整页重定向

解决方法

我发现了这个:

您可以使用 HX-Redirect http 响应标头在客户端上触发重定向。

我创建了这个类。这样一个片段可以触发整个页面的重新加载:


class HTTPResponseHXRedirect(HttpResponseRedirect):
    def __init__(self,*args,**kwargs):
        super().__init__(*args,**kwargs)
        self['HX-Redirect']=self['Location']
    status_code = 200

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