HX-Replace-Url 响应头

HX-Replace-Url 响应头允许你替换浏览器位置历史记录中的当前 URL 。这不会创建新的历史记录条目;实际上,它会从浏览器的历史记录中删除之前的当前 URL。这类似于hx-replace-url 属性

如果存在,此标题将覆盖用属性定义的任何行为。

此响应头的可能值为:

  1. 用于替换位置栏中当前 URL 的 URL。这可以是相对的或绝对的,根据 history.replaceState() 而定,但必须与当前 URL 具有相同的来源。
  2. false,这会阻止更新浏览器的当前 URL。

3xx 响应代码不会处理响应标头。请参阅 响应头

基本语法

HX-Replace-Url: /security/api

示例代码

前端 HTML:

<form hx-post="/update-profile"
      hx-target="#main-content"
      hx-swap="innerHTML">
  <!-- 表单内容 -->
</form>

后端返回(Python Flask 示例):

@app.route("/update-profile", methods=["POST"])
def update_profile():
    # 更新逻辑...
    html = render_template("profile.html")
    response = make_response(html)
    response.headers["HX-Replace-Url"] = "/profile/123"
    return response