无法从ajax请求获取Golang中的post参数

时间:2018-12-30 15:09:32

标签: ajax go post gin

在客户端,我有代码:

    let response = await fetch('/getInfo', {
      credentials: 'same-origin',
      method: 'POST',
      body: JSON.stringify({filename: "file.jpg"})
    });

服务器端代码:

    fmt.Println(c.PostForm("filename")) // empty

为什么它是空的?如何获取c.PostForm(“ filename”)的值?

1 个答案:

答案 0 :(得分:1)

此代码从请求正文中解码JSON对象:

// Request is structure to encode request body
type Request struct {
    FileName string `json:"filename"`
}

// ServeHTTP is request handler
func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
    decoder := json.NewDecoder(r.Body)
    var req Request
    err := decoder.Decode(&req)
    if err != nil {
        // handle error
        return
    }
    // process request
}