在使用gin-gonic进行Web应用程序登录时,我遇到了一些麻烦。我目前正在使用API。在这里我可以提出入境请求。这是我的代码段:
主要
// LOGIN
router.GET("/login", loginUser)
router.POST("/login", login)
登录功能代码段
// LOGIN FUNCTIONS
func loginUser(c *gin.Context) {
c.HTML(200, "login.html", gin.H{})
}
func login(c *gin.Context) {
email := c.PostForm("email")
password := c.PostForm("password")
r := gin.Default()
r.LoadHTMLGlob("templates/*")
r.POST("/api/user/login", func(c *gin.Context) {
var json common.Login
if err := common.Bind(c, &json); err == nil {
if json.Email == email && json.Password == password {
c.JSON(200, gin.H{"email":email, "password": password,})
fmt.Println(email)
fmt.Println(password)
} else {
c.JSON(401, common.NewError("user", errors.New("wrong username or password")))
c.HTML(404, "404notification.html", gin.H{})
}
c.HTML(200, "notification.html", gin.H{"email": email})
} else {
c.JSON(422, common.NewValidatorError(err))
}
})
r.Run()
}
如您所见,我正在尝试发布请求我的凭据才能登录。
当我在函数loginUser
中的表单框上单击“提交”时-登录会收到发布请求,然后在成功时将自身重定向到html,在错误时将自身重定向到404error html。
我不知道我的理解是否正确,这是我第二天学习此技巧以制作Web应用程序。帮助请
答案 0 :(得分:0)
您使用文件扩展名(.html)。是否要使用母版页?
如果要使用母版页,则无需编写任何扩展名,例如“ home / index”。
如果您不想使用母版页,则编写完整路径“ home / index.html”