事件 - htmx:configRequest

htmx:configRequest 是 HTMX 提供的一个客户端事件,允许你在 HTMX 发出请求之前,动态修改请求的配置,例如:

  • 添加自定义请求头(如 Token)

  • 修改请求体(payload)

  • 更改 URL、方法等

  • 动态控制是否取消请求

基本语法

document.body.addEventListener('htmx:configRequest', function(evt) {
    // add a new parameter into the mix
    evt.detail.parameters['auth_token'] = getAuthToken(); 
});

请注意,如果输入值出现多次,则 parameters 对象中的值将是一个数组,而不是单个值。

事件参数

  • detail.parameters - 请求中将提交的参数
  • detail.unfilteredParameters - 过滤前找到的参数 hx-params
  • detail.headers - 请求标头
  • detail.elt - 触发请求的元素
  • detail.target - 请求的目标
  • detail.verb - 正在使用的 HTTP 动作(如:GET、POST 等)

示例:用于国际化

<script>
  document.body.addEventListener("htmx:configRequest", function(event) {
    event.detail.xhr.setRequestHeader("Accept-Language", navigator.language);
  });
</script>