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
μμ²μ 보λ΄κ³ νμ΄μ§ λ³Έλ¬Έμ λ΄μ©μ ν΄λΉ μλ΅μΌλ‘ κ΅μ²΄ν©λλ€.
hx-boost
λ μμλλ©° λΆλͺ¨ μμμ λ°°μΉν μ μμ΅λλ€.HX-Boosted
λ₯Ό μ°ΎμΌλ©΄ λ©λλ€.hx-boost="false"
λ₯Ό μ¬μ©ν μ μμ΅λλ€.hx-preserve="true"
λ₯Ό μ¬μ©νμ¬ λΆμ€νΈλ μμμ κ·Έ μμ μμμ κ΅μ²΄λ₯Ό λΉνμ±νν μ μμ΅λλ€.