与query一样 可以使用 c.postfrom() c.defaultpostfrom() c.GetPostForm() string bool
除了main文件还有两个html文件 c 是 *gin.Context类型
package main
//获取form表单提交的参数
/*
点击登录后往哪里发是由from的action属性决定的
*/
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
r := gin.Default()
r.LoadHTMLFiles("./login.html", "./index.html")
r.GET("login", func(c *gin.Context) {
c.HTML(http.StatusOK, "login.html", "ok")
})
// /login post
r.POST("/login", func(c *gin.Context) {
//获取from表单提交的数据
//username := c.PostForm("username")
//password := c.PostForm("password")
username := c.DefaultPostForm("username", "somebody")
password := c.DefaultPostForm("xxx", "***")
c.GetPostForm()
c.HTML(http.StatusOK, "index.html", gin.H{
"Name": username,
"Password": password,
})
})
r.Run(":9090")
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index</title>
</head>
<body>
<h1>Hello,{{.Name}}!</h1>
<p>你的密码是:{{.Password}}!</p>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>login</title>
</head>
<body>
<form action="/login" method="post" novalidate autocomplete="off">
<label for="username">username:</label>
<input type="text" name="username" id="username">
<label for="password">password:</label>
<input type="password" name="password" id="password">
<input type="submit" value="登录">
</form>
</body>
</html>