2016-12-16 164 views
0

我正在獲取此Error = mime: expected slash after first token 下面的一些細節。Golang - ParseForm; err = mime:第一個令牌後的預期斜槓

目標是一個登錄表單,用戶名和密碼 可以從POST中提取。

我還測試了捲曲後和靜態HTML表單 - >同樣的問題= mime: expected slash after first token

片段旅途代碼:

log.Printf("\n\n\t[loginH()] - POST method ...\n") 
err := r.ParseForm() 
if err != nil { 
     // Handle error here via logging and then return 
     DebugLog.Printf("[loginH()] - ERROR: with r.ParseForm. (err=%v)\n", err) 
     log.Printf("[loginH()] - ERROR: with r.ParseForm. (err=%v)\n", err) 
} 
username := r.Form["username"] 
passwd := r.Form["passwd"] 
log.Printf("[loginH()] - r.Form ... username=%s and passwd=%s\n",username,passwd) 

的HTML /的形式是:

<form method="POST" action="/login"> 
    <input type="text" name="username" placeholder="Email Address"/> 
    <input type="password" name="passwd" placeholder="Password"/> 
    <input type="submit" id="loginBtn" name="login" value="Logon"/> 
</form> 

輸出:

2016/12/15 21:36:07 [loginH()] - POST method ... 
2016/12/15 21:36:07 [loginH()] - ERROR: with r.ParseForm. (err=mime: expected slash after first token) 
2016/12/15 21:36:07 [loginH()] - r.Form ... username= and passwd= 

預先感謝任何指點/信息/啓示。

r.Form是空

+0

小更新 - 使用 –

+0

@Motakjuq - 感謝您的文本清理。 –

回答

0

此錯誤來源於mediatype.go 85線。您可能會在內部調用ParseMediaType方法時發生此錯誤。從那裏看起來好像你的靜態表單或curl沒有正確設置Content-Type或Content-Disposition的某些值。請檢查這些標題是否有問題的值。

從文檔:

// ParseMediaType parses a media type value and any optional 
// parameters, per RFC 1521. Media types are the values in 
// Content-Type and Content-Disposition headers (RFC 2183). 
// On success, ParseMediaType returns the media type converted 
// to lowercase and trimmed of white space and a non-nil map. 
// The returned map, params, maps from the lowercase 
// attribute to the attribute value with its case preserved. 
+0

謝謝!我挖入源mediatype.go,找到該字符串。 您的筆記有助於查明問題,有一個代理正在修改Content-Type標題。我移動了服務器,並能夠確認表單郵件正在工作。 我很感謝你的時間。 –