Golang解析形式
发布时间:2020-12-16 19:03:36 所属栏目:大数据 来源:网络整理
导读:如果我有以下表单设置: {{ range $key,$value := .Scores }} input id="{{$value.Id}}_rating__1" type="radio" name="rating[{{$value.Id}}]" value="-1" input id="{{$value.Id}}_rating__0" type="radio" name="rating[{{$value.Id}}]" value="0" input
如果我有以下表单设置:
{{ range $key,$value := .Scores }} <input id="{{$value.Id}}_rating__1" type="radio" name="rating[{{$value.Id}}]" value="-1"> <input id="{{$value.Id}}_rating__0" type="radio" name="rating[{{$value.Id}}]" value="0"> <input id="{{$value.Id}}_rating__2" type="radio" name="rating[{{$value.Id}}]" value="+1"> {{ end }} 那我怎样才能正确提取数据呢?知道那里.Scores可以包含多个结构 func categoryViewSubmit(w http.ResponseWriter,r *http.Request) { err := r.ParseForm() if err != nil { log.Fatal(err) } fmt.Println("POST") fmt.Printf("%+vn",r.Form()) // annot call non-function r.Form (type url.Values) fmt.Printf("%+vn",r.FormValue("rating")) // Returns nothing }
表单键看起来像rating [id],其中id是值标识符.要获取其中一个值,请在将id替换为实际id值后调用r.FormValue(“rating [id]”).
我建议打印表单以查看发生了什么: fmt.Printf("%+vn",r.Form) // No () following Form,Form is not a function form是url.Values. url.Values是map [string] []字符串.您可以按如下方式遍历表单: for key,values := range r.Form { // range over map for _,value := range values { // range over []string fmt.Println(key,value) } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |