得到这个Error = mime: expected slash after first token
下面有一些细节。
目标是用户名和密码的登录表单 可以从POST中提取。
我还测试了一个卷曲帖子和一个静态html表单 - >同一问题= mime: expected slash after first token
go代码片段:
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)
此错误来自mediatype.go的第85行。您可能在内部调用ParseMediaType方法时收到此错误。从那里看起来你的静态形式或卷曲没有正确设置Content-Type或Content-Disposition的某些值。请检查这些标题是否存在任何有问题的值。
来自docs:
// 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.