11
私は単純なhtmlフォームをgoで処理しようとしています。ただし、投稿時に投稿データを取得することはできません。 r.Formマップは常に[]です。私がどこに間違っているのか分からない。request.Post配列はフォーム提出時に空です
ありがとうございます。
は、ここでは、最初ParseFormを呼び出す必要がありますようにhttp://play.golang.org/p/aZxPCcRAVV
package main
import (
"html/template"
"log"
"net/http"
)
func rootHandler(w http.ResponseWriter, r *http.Request) {
t, _ := template.New("form.html").Parse(form)
t.Execute(w, "")
}
func formHandler(w http.ResponseWriter, r *http.Request) {
log.Println(r.Form)
rootHandler(w, r)
}
func main() {
http.HandleFunc("/", rootHandler)
http.HandleFunc("/login", formHandler)
http.ListenAndServe("127.0.0.1:9999", nil)
}
var form = `
<h1>Login</h1>
<form action="/login" method="POST">
<div><input name="username" type="text"></div>
<div><input type="submit" value="Save"></div>
</form>
`
ありがとうございます!私は執筆ウェブアプリケーションの記事[http://golang.org/doc/articles/wiki/#tmp_8](http://golang.org/doc/articles/wiki/#tmp_8)に従っていた。おそらく少し古いとParseForm()は言及していません。 – rputikar
この例では、必要に応じてParseFormを呼び出すFormValueメソッドを使用しています。 Form変数に直接アクセスしているので、ParseFormを直接呼び出す必要があります。 – masebase