Go + flux-htmx¶
Setup¶
<meta name="csrf-token" content="{{.CsrfToken}}" />
<meta name="flux-config" content='{"csrf":{"strategy":"meta"}}' />
<script src="https://cdn.jsdelivr.net/npm/flux-htmx@2/dist/flux.full.iife.js" defer></script>
Fragment handler¶
func searchHandler(w http.ResponseWriter, r *http.Request) {
q := r.URL.Query().Get("q")
rows := db.Search(q)
tmpl.ExecuteTemplate(w, "rows", rows) // fragment only
}
func main() {
http.HandleFunc("/search", searchHandler)
http.ListenAndServe(":8080", nil)
}
<input fx-search="/search" fx-target="#results" hx-trigger="input changed delay:300ms" />
<div id="results">{{template "rows" .}}</div>
Polling dashboard¶
Runnable app: examples/go/