2016-12-28 51 views
0

我很难从Go中的HTML表单中读取值,这应该是直接的。出于某种原因,我的Auth_login处理程序中的'user'值始终是空的,即使我填写了下面的表单并按下'submit'按钮。表格值空后

处理器时/登录URL通过HTTP POST方法称为被称为:

func Auth_login(w http.ResponseWriter, r *http.Request) { 
    r.ParseForm() 
    user := r.PostFormValue("username") 
    // Other actions here 
} 

相关表格(以修身格式):

form action=/login method=post 

    br 
    | Name: 
    br 
    input#username type=text 

    br 
    | Password: 
    br 
    input#password type=password 

    br 
    input type=submit 
    a href=/login Cancel 

我想,当我做错事阅读HTML表单字段?

+0

方法'ParseForm'返回一个错误的值。它是'零'吗?如果不是什么? –

+0

没有错误返回,它出现为 dingalingchickenwiing

+0

我只是想通了!我正在设置文本框的ID值,但不是“名称”值。一旦我确定了,我就可以解析表单了!难怪它正在返回空弦! – dingalingchickenwiing

回答

1

我只是通过查看另一个网站的源代码来找出答案。如果任何人有类似的问题,我通过给每个我想要在Go中解析的文本框添加一个'name'值来修复它。例如,苗条代码以上将变成这样:

形式行动= /登录方法=张贴

br 
| Name: 
br 
input#username type=text name=username 

br 
| Password: 
br 
input#password type=password name=password 

br 
input type=submit 
a href=/login Cancel