【go】Revel 的路由问题
我的路由是这样写的:
INI
GET /me/login Me.Login
POST /me/login Me.HandleLogin
Controller是这样的,
go
func (c Me) Login() revel.Result {
fmt.Println("=========")
fmt.Println("aaaaaaaaa")
return c.Render()
}
func (c Me) HandleLogin() revel.Result {
var (
username string
password string
remember string
)
c.Params.Bind(&username, "username")
c.Params.Bind(&password, "password")
c.Params.Bind(&remember, "remember")
_, err := models.GetUserByName(username)
fmt.Println("===========================================")
fmt.Println(username, password)
if err != nil {
c.RenderArgs["Error"] = "username or password error"
return c.RenderTemplate("me/login.html")
}
return c.Redirect("/")
}
然后html的
html
form action="/me/login" method="post"
运行结果:
第一个是打开的时候输出的,第二个是Post的时候输出的。
这个是浏览器的请求:
然后我就找不到原因了
回答
第一次是Get请求,走的Get后面的Action,但是第二次是,POST请求,然后还是走的是Get的Action。然后,我在Login() Action里面打出了,我post过去的两个值。
以上是 【go】Revel 的路由问题 的全部内容, 来源链接: utcz.com/a/106678.html