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响应头