hx-boosthx-boost 属性を使用すると、通常の a エレメントとフォームタグを「ブースト」して AJAX を使用するようにできます。これは、ユーザーが JavaScript を有効にしていない場合にサイトが引き続き動作するという 素晴らしいフォールバック です。
a タグの場合、a をクリックすると href に指定された URL に GET リクエストが発行され、URL がプッシュされて履歴エントリが作成されます。ターゲットは <body> タグで、規定では innerHTML スワップ戦略が使用されます。これらはすべて、クリックトリガーを除き、適切な属性を使用することで変更できます。
フォームの場合、リクエストは method 属性のメソッドに基づいて GET または POST に変換され、submit によってトリガーされます。ここでも、ターゲットはページの body で、innerHTML スワップが使用されます。ただし、URL はプッシュされず、履歴エントリは作成されません(URL をプッシュする場合は hx-push-url 属性を使用できます)。
以下はブーストされたリンクの例です。
<div hx-boost="true">
<a href="/page1">Go To Page 1</a>
<a href="/page2">Go To Page 2</a>
</div>
これらのリンクは、それぞれの URL に ajax GET リクエストを発行し、ボディの内部コンテンツを置き換えます。
以下はブーストされたフォームの例です。
<form hx-boost="true" action="/example" method="post">
<input name="email" type="email" placeholder="Enter email...">
<button>Submit</button>
</form>
このフォームは、特定の URL に ajax POST を発行し、ボディの内部コンテンツを置き換えます。
hx-boost は継承され、親要素に配置できますHX-Boosted を探しますhx-boost="false" を使用して、子要素でブーストを非表示にしますhx-preserve="true" を使用します