我是 Golang 的新手,我正在尝试将数据从操作字段移动到结构。
我的主要功能是:
func main () {
http.HandleFunc("/public/", func (w http.ResponseWriter, r *http.Request) {
http.ServeFile(w, r, r.URL.Path[1:]) })
http.HandleFunc("/public/new_user/", signup)
http.ListenAndServe(":8080", nil)
}
// struct for recieving Signup data input from signup.html
type Signup struct {
name string
email string
}
// func to receive data into struc above FROM signup.html
func signup(w http.ResponseWriter, r *http.Request) {
var S Signup
S.name = r.FormValue("name")
S.email = r.FormValue("email")
//this is just to test the output
fmt.Println("%v\n", S.name)
fmt.Println("%v\n", S.email)
}
我有http.HandleFunc("public/new_user/", signup)哪个应该呈现signup函数。但是,当我路由到public/new_user而不是从 func 注册接收结构时,我收到了一个空白的 html 页面。
上面的S.name = r.FormValue("name")和S.email = r.FormValue("email")行是从注册页面获取他们的信息,即:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Sign Up</title>
</head>
<body>
<h1>Sign Up</h1>
<br/>
<form action="/public/new_user" method="post" id="form1">
<label>Name:</label>
<input type="string" name="name" />
</br>
</br>
<label>Email:</label>
<input type="string" name="email" />
</form>
</br>
<button type="submit" form="form1" value="Submit">Submit</button>
</body>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<!-- Latest compiled JavaScript -->
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</html>
如您所见,此页面public/new_user在提交时路由到。任何人都可以告诉我为什么public/new_user看到我的情况是空白的public/new_user:
http.HandleFunc("/public/new_user/", signup)
哪个应该呈现注册功能?谢谢
拉莫斯之舞
萧十郎
相关分类