我只是想尝试创建数据,而我并不完全明白使用哪种方法。
在本文中:http://astaxie.gitbooks.io/build-web-application-with-golang/content/en/04.1.html
他们使用r.ParseForm()
并通过r.Form["username"]
获取帖子值。
但是当我在我自己的代码中尝试这个时它不起作用,我得到了一些字符串,所以我必须做r.Form["username"][0]
来获取字符串值。
为什么与文章中显示的不同?为什么我会得到一些字符串?
还有另一种方法可以像r.FormValue("username")
一样使用。
然后有一个r.PostFormValue("username")
,另一个!
你应该在不同的情况下使用哪一个?
答案 0 :(得分:5)
根据经验,当您知道要阅读的密钥时,只需使用r.PostFormValue("username")
即可。此方法始终无需任何其他准备工作。请记住,这不会读取查询参数,即使该方法是POST。
但是,如果您需要检查发送的数据,则必须先使用r.ParseForm()
解析数据,然后使用r.Form["username"][0]
读取数据。对于期望在同一个键上有多个值的情况也是如此。