hx-vals

hx-vals属性允许您向AJAX请求提交的参数中添加额外内容。

默认情况下,该属性的值是JSON(JavaScript对象表示法)格式的名称-表达式值列表。

如果您希望hx-vals动态计算给定的值,可以在值前添加javascript:js:前缀。

  <div hx-get="/example" hx-vals='{"myVal": "My Value"}'>获取包含请求值的HTML</div>

  <div hx-get="/example" hx-vals='js:{myVal: calculateValue()}'>获取包含JavaScript动态计算值的HTML</div>

使用动态计算代码时,您可以访问event对象。此示例包含输入框中最后键入的键值。

  <div hx-get="/example" hx-trigger="keyup" hx-vals='js:{lastKey: event.key}'>
    <input type="text" />
  </div>

您还可以使用扩展运算符动态指定值。这允许您包含函数返回对象的所有属性:

  <div hx-get="/example" hx-vals='js:{...foo()}'>获取包含foo()函数所有返回值的HTML</div>

在此示例中,如果foo()返回类似{name: "John", age: 30}的对象,则nameage都将作为参数包含在请求中。

安全考虑

注意事项