主题
表单处理
1. 解析表单数据
go
func handler(w http.ResponseWriter, r *http.Request) {
err := r.ParseForm()
if err != nil {
http.Error(w, "ParseForm() error", http.StatusBadRequest)
return
}
name := r.FormValue("name")
fmt.Fprintf(w, "Hello, %s!", name)
}
2. 获取 URL 查询参数
go
query := r.URL.Query()
id := query.Get("id")
3. 处理 POST 表单
支持 application/x-www-form-urlencoded
和 multipart/form-data
。
4. 表单验证(简单示例)
go
if name == "" {
http.Error(w, "Name is required", http.StatusBadRequest)
return
}
表单处理是实现用户交互和数据提交的关键步骤。