当前位置: 首页 > 知识库问答 >
问题:

FormValue总是一个空地图

通啸
2023-03-14

我为我的处理器编程了多种方法,例如:

func DeleteProduct(w http.ResponseWriter, r *http.Request){
    log.Println(r.Form)
    db.Exec("Delete from  products where Id = "+r.FormValue("Id"))
}

问题是r.Form始终是一个空映射,在我的删除请求中,我以JSON格式发送Id,如下所示:

    {
        "CustomerDate": "13.03.2018",
        "CustomerDateTime": "13:30",
        "UserId": 4
    }

在main方法中,我注册了如下处理程序方法:

        router.HandleFunc("/delete",handler.DeleteProduct).Methods("DELETE")

为什么r.Form和r.PostForm总是一张空地图?

共有1个答案

武向文
2023-03-14

在JSON请求的情况下,您必须在使用任何参数之前散集请求正文。

type ReqBody struct {
  CustomerDateTime string `json:"CustomerDateTime"`
  CustomerDateTime string `json:"CustomerDateTime"`
  UserId           int    `json:"UserId"`
}

body, err := ioutil.ReadAll(req.Body)
if err != nil {
    // Error handler...
}
rb := ReqBody{}
json.Unmarshal(body, &rb)
// Now you can perform something like this:
println(rb.UserId)
 类似资料:
  • 问题内容: 我已经尝试过使用并且都没有返回文档。是在返回一个空数组被返回。在这两种情况下也是如此。 这是我的联系: 这是我的架构: 我的查询在这里: 我可以将内容上传到数据库,并通过RockMongo进行查看,但之后无法获取它们。这是我第一次使用MongoDB,因此我认为我只是缺少一些基础知识。向正确方向的任何推动都是很棒的! 问题答案: 建立模型所绑定的集合的名称的调用,默认值为复数的小写模型名

  • 我正在用Jetty 9托管我的Java webapp,我想自己来托管Fonty。但是我看不到正确的图标(它们是方形的。如果我从CDN链接,它可以正常工作) 这个链接有效 这并不 我已尝试将以下内容添加到我的web。xml 我从IE得到的只是以下信息 铬 响应头 请求头 谁能告诉我哪里做错了?

  • 问题内容: 我们有一些Hibernate getter方法,它们都用和标注。 如果没有相应的设置器,则会出现异常。为什么是这样? 在我们的例子中,我们派生了从getter返回的值(将其存储在DB中),而setter没有任何功能目的。因此,我们只有一个空方法可以解决错误情况。 问题答案: 正如其他人提到的那样,如果您注释属性getter方法,则Hibernate在从数据库读取值时会使用setter。

  • 我在使用Discord。js和一个长时间运行的Discord bot最近由于消息而突然停止工作。成员对象始终为空。 例如: 这始终会产生:TypeError:无法读取null的属性“roles” 在我们查看消息的代码库中,这种错误也随处可见。成员 即使控制台完全记录消息对象,我们也可以肯定地看到成员属性为空。 Discord.js?有什么变化吗?

  • 对于下面的方法,JSONObject总是为空。 我的ajax是这样的。我的方法得到的对象作为空地图在服务器端

  • 在javascript中,我有两个映射map1={a:1,b:2,c:3,d:4,e:5};map2={td:a,bd:c,sd:e}; 现在我需要搜索map2的值,即(a,b,e),如果它是map1的键,然后用map1示例中的对应值更新map2的值——map2[td]=a和map[a]=1,然后我想更新map2[td]=1。谁能帮我找到一个算法吗。