如果請求失敗,可能係以下幾個原因:
1. URL 錯誤:檢查 HTMX 嘅 hx-get 或 hx-post 係咪指向正確嘅 URL。
2. CORS 問題:如果你嘅前端同後端唔同域名,可能會遇到跨域問題。你可以喺 Golang 後端設置 CORS 頭:
go
w.Header().Set("Access-Control-Allow-Origin", "*")
3. 伺服器錯誤:檢查 Golang 後端嘅日誌,睇下有冇錯誤信息。
另外,HTMX 提供咗一個好有用嘅功能,就係 hx-indicator,可以顯示加載狀態。例如:
```html
加載中...
```
咁樣,當 HTMX 發送請求嗰陣,#loading 就會顯示出來,直到請求完成。
3. 點樣處理 HTMX 嘅表單提交?
問題:
HTMX 可以好方便咁處理表單提交,但有時你唔知點樣喺 Golang 後端處理呢啲數據。
解決方案:
HTMX 嘅表單提交其實就係普通嘅 POST 請求,你可以用 Golang 嘅 r.ParseForm() 嚟解析表單數據。以下係一個例子:
go
http.HandleFunc("/submit", func(w http.ResponseWriter, r *http.Request) {
if r.Method == "POST" {
r.ParseForm()
name := r.FormValue("name")
w.Write([]byte("<p>你好, " + name + "!</p>"))
}
})