【问题标题】:When should you use ParseForm and when should you use FormValue and PostFormValue?什么时候应该使用 ParseForm,什么时候应该使用 FormValue 和 PostFormValue?
【发布时间】:2015-12-05 16:29:11
【问题描述】:

我只是想获取表单数据,我不太明白该使用哪种方法。

本文中: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"),又一个!

你应该在不同的情况下使用哪一个?

【问题讨论】:

    标签: go


    【解决方案1】:

    根据经验,当您知道要读取的密钥时,只需使用r.PostFormValue("username")。此方法始终有效,无需任何其他准备。请记住,即使方法是 POST,这也不会读取查询参数。

    但是,如果您需要检查发送了哪些数据,则必须首先使用 r.ParseForm() 解析数据,然后使用 r.Form["username"][0] 读取值。对于您期望同一个键上有多个值的情况也是如此。

    【讨论】:

    猜你喜欢
    • 2023-04-02
    • 2011-04-15
    • 2017-04-10
    • 2012-03-19
    • 2018-05-12
    • 2018-12-11
    • 1970-01-01
    • 2022-09-28
    • 2021-09-07
    相关资源
    最近更新 更多