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

标签 ajax go post go-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")的值?

最佳答案

此代码从请求正文中解码 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
}

关于ajax - 无法从ajax请求中获取Golang中的post参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53978746/

相关文章:

ajax - 关闭长轮询连接,jQuery-ajax

go - 为什么这段 go 代码会失败?

compiler-construction - 转译为裸骨 C?

php - 发送 POST 请求而不提交 HTML 表单

javascript - Ajax 调用获取后期情报

javascript - Jstree - 如果在 Jstree 中检查了父节点,如何检查子节点?

ios - 从 iOS 5 中包含 .SVC?wsdl 文件的 URL 获取 JSON 数据?

java - 如何将 List<ViewHolder> 转换为 JSON 并通过 POST 请求发送到服务器

jquery - ajax 请求在 Postman 中工作,而不是在代码中

go - 查询参数 - 在 golang 中用空白替换 +