hx-boost

hx-boost 속성은 일반 anchor와 form νƒœκ·Έμ—μ„œ AJAXλ₯Ό μ‚¬μš©ν•˜λ„λ‘ β€œλΆ€μŠ€νŠΈβ€œν•  수 있게 ν•©λ‹ˆλ‹€. 이것은 점진적 ν–₯μƒμ΄λΌλŠ” 쒋은 점을 가지고 μžˆλŠ”λ°, μ‚¬μš©μžκ°€ μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό ν™œμ„±ν™”ν•˜μ§€ μ•Šμ€ κ²½μš°μ—λ„ μ‚¬μ΄νŠΈκ°€ 계속 μž‘λ™ν•˜κ²Œ λ©λ‹ˆλ‹€.

anchor νƒœκ·Έμ˜ 경우, anchorλ₯Ό ν΄λ¦­ν•˜λ©΄ href에 μ§€μ •λœ URL둜 GET μš”μ²­μ„ 보내고 URL을 ν‘Έμ‹œν•˜μ—¬ νžˆμŠ€ν† λ¦¬ ν•­λͺ©μ΄ μƒμ„±λ©λ‹ˆλ‹€. λŒ€μƒμ€ <body> νƒœκ·Έμ΄λ©° 기본적으둜 innerHTML ꡐ체 μ „λž΅μ΄ μ‚¬μš©λ©λ‹ˆλ‹€. μ΄λŸ¬ν•œ λͺ¨λ“  ν•­λͺ©μ€ μ μ ˆν•œ 속성을 μ‚¬μš©ν•˜μ—¬ μˆ˜μ •ν•  수 μžˆμ§€λ§Œ, click νŠΈλ¦¬κ±°λŠ” μ œμ™Έλ©λ‹ˆλ‹€.

form의 경우 μš”μ²­μ€ 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 μš”μ²­μ„ 보내고 νŽ˜μ΄μ§€ 본문의 λ‚΄μš©μ„ ν•΄λ‹Ή μ‘λ‹΅μœΌλ‘œ κ΅μ²΄ν•©λ‹ˆλ‹€.

Notes