我有一个包含多个表单的页面。
如果用户提交表单,则仅应提交当前表单(而不是页面的其他表单)。
在服务器上,表单得到验证。
情况 1:如果验证失败,则服务器将 html 发送到客户端,并且应交换特定表单,并将新表单添加到 DOM 中。此新表单包含一条错误消息。用户现在可以修复错误并再次提交表单。
情况2:表单验证成功,数据已保存。现在我想在客户端触发全页重定向。
我阅读了 htmx 的文档hx-目标 https://htmx.org/attributes/hx-target/。我设法让 case-1 工作(我喜欢 htmx 的这个功能)。
但是服务器如何触发全页重定向呢?
我找到了这个:
你可以使用HX-重定向 https://htmx.org/docs/#response-headershttp 响应标头触发客户端上的重定向。
我为基于 Django 的应用程序创建此类。这样,片段可以触发整个页面的重新加载:
class HTTPResponseHXRedirect(HttpResponseRedirect):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self['HX-Redirect']=self['Location']
status_code = 200
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)