2016-12-28 101 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