Lær HTMX på norsk: bygg interaktive nettsider med HTML-attributter og AJAX. Serveren svarer med HTML-fragmenter i stedet for JSON, uten tunge rammeverk.

Kort fortalt

HTML-svar
HTMX forventer HTML, ikke JSON, på AJAX-forespørsler ifølge htmx.org/docs
Standard swap
Standardverdien for hx-swap er innerHTML ifølge htmx.org
hx-boost
hx-boost gjør at lenker og skjemaer bruker AJAX i stedet ifølge htmx.org
SSE-utvidelse
HTMX har en utvidelse for Server-Sent Events ifølge htmx.org
Innhold i artikkelen (8)
  1. Hva er HTMX?
  2. HTMXs kjernekonsepter
  3. Et praktisk eksempel
  4. HTMX med backend
  5. Server-Sent Events (SSE)
  6. HTMX-applikasjoner og HTML
  7. Når passer HTMX og når passer det ikke?
  8. Filosofien bak HTMX

Hva er HTMX?

HTMX er et JavaScript-bibliotek som lar deg få tilgang til moderne nettleserfunksjoner direkte fra HTML, ved hjelp av attributter. På serversiden svarer du typisk med HTML, ikke JSON, ifølge htmx-dokumentasjonen.

HTMX forventer at svar på AJAX-forespørsler er HTML, gjerne HTML-fragmenter. HTMX-baserte applikasjoner ligner på normale nettsider uten AJAX fordi de er HTML-orienterte, som beskrevet i htmx-dokumentasjonen.

HTMX lar deg legge til moderne interaktivitet i nettsider med enkle HTML-attributter.
HTMX lar deg legge til moderne interaktivitet i nettsider med enkle HTML-attributter.

HTMXs kjernekonsepter

HTMX bygger på enkle attributter for AJAX:

Annonse

Et praktisk eksempel

Med HTMX kan du for eksempel lage en knapp som gjør en AJAX-forespørsel: <button hx-post="/clicked" hx-swap="outerHTML">. Når en bruker klikker på knappen, sendes det en POST-forespørsel, og hele knappen byttes ut med svaret, som vist i GitHub-repositoriet.

Serveren mottar forespørselen og returnerer HTML. HTMX setter inn HTML-fragmentet uten at hele siden lastes på nytt, i tråd med htmx-dokumentasjonen.

HTMX med backend

HTMX fungerer sammen med backend som returnerer HTML.

Serveren mottar en forespørsel, genererer HTML, og returnerer det. HTMX forventer HTML-fragmenter som svar på AJAX-forespørsler, som beskrevet i htmx-dokumentasjonen.

Server-Sent Events (SSE)

HTMX har en utvidelse for Server-Sent Events, som er et lettvektsalternativ til WebSockets over eksisterende HTTP-tilkoblinger. Du installerer utvidelsen med hx-ext="sse", og barneelementer kan lytte på hendelser med hx-trigger prefikset med sse:, ifølge dokumentasjonen for SSE-utvidelsen.

Utvidelsen håndterer tilkoblingen til webserveren, lytter på serverhendelser og bytter innholdet inn i DOM-en. HTMX inkluderer også en demo SSE-server skrevet i Node.js, som nevnt i dokumentasjonen for SSE-utvidelsen.

Annonse

HTMX-applikasjoner og HTML

HTMX-applikasjoner er HTML-orienterte og ligner på normale nettsider uten AJAX, ifølge htmx-dokumentasjonen.

Når passer HTMX og når passer det ikke?

HTMX passer godt når du vil bruke HTML-attributter for å gjøre AJAX-forespørsler direkte fra HTML, og når serveren kan returnere HTML-fragmenter.

Vurder andre løsninger hvis du trenger kompleks klientsidetilstand som ikke lar seg uttrykke via HTML.

Filosofien bak HTMX

HTMX lar deg få tilgang til moderne nettleserfunksjoner direkte fra HTML. På serversiden svarer du typisk med HTML i stedet for JSON, ifølge htmx-dokumentasjonen.

Annonse

Kontakt & nettverk

Emner

Olav Sie Rotvær
Skrevet avOlav Sie RotværSkribent og utvikler

Olav Sie Rotvær skriver og drifter Norsk Næring. Han er utvikler, ikke journalist, og har ingen fagutdanning innenfor teknologi & innovasjon. Artiklene bygger derfor på primærkilder som oppgis der påstanden gjøres.

Om forfatteren og hvordan artiklene kildebelegges →