Go 从零开始(四)表单提交
一、创建表单
打印 html 标签字符串,并动态加入表单提交的路径。
func articlesCreateHandler(w http.ResponseWriter, r *http.Request) { html := ` "en">` storeURL, _ := router.Get("articles.store").URL() fmt.Fprintf(w, html, storeURL) }创建文章
二、接收表单提交的数据
上一步表单提交到了 store 方法。所以在以下 store 方法中可以获取表单数据。
func articlesStoreHandler(w http.ResponseWriter, r *http.Request) {
err := r.ParseForm()
if err != nil {
// 解析错误,这里应该有错误处理
fmt.Fprint(w, "请提供正确的数据!")
return
}
// PostForm 获取 post put 数据
// 在使用之前需要调用 ParseForm 方法
title := r.PostForm.Get("title")
// Form 获取 post put get 数据
// 在使用之前需要调用 ParseForm 方法
title := r.Form.Get("title")
// FormValue()、PostFormValue() 获取单个的值
// 无需调用 ParseForm 方法
title := r.PostFormValue("title")
fmt.Fprintf(w, "PostForm: %v
", r.PostForm)
fmt.Fprintf(w, "Form: %v
", r.Form)
fmt.Fprintf(w, "title: %v", title)
}