加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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)
  }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读