HX-Location 响应头

此 HTTP 响应头可用于触发客户端重定向,而无需重新加载整个页面。它不会更改页面的位置,而是像跟随链接一样 hx-boost,创建新的历史记录条目,向 HTTP 头的值发出 ajax 请求并将路径推送到历史记录中。

示例响应如下:

HX-Location: /test

这将促使客户端请求 /test,就好像用户点击了<a href="/test" hx-boost="true">

如果你想要重定向到页面上的特定目标而不是默认的 document.body,则可以通过使用 JSON 作为 HTTP 头的值,将更多详细信息与事件一起传递:

HX-Location: {"path":"/test2", "target":"#testdiv"}

路径是必需的,是加载响应的 URL。其余数据反映了Ajax API 上下文,即:

  • source - 请求的源元素
  • event - 触发请求的事件
  • handler - 处理响应 HTML 的回调
  • target - 将响应交换成的目标
  • swap - 如何根据目标交换响应
  • values - 随请求提交的值
  • headers - 与请求一起提交的HTTP头
  • select - 允许你从响应中选择要交换的内容

笔记

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