首页 > Revel 的路由问题

Revel 的路由问题

我的路由是这样写的:

INIGET   /me/login           Me.Login
POST  /me/login           Me.HandleLogin

Controller是这样的,

gofunc (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的

htmlform action="/me/login" method="post"

运行结果:

第一个是打开的时候输出的,第二个是Post的时候输出的。

这个是浏览器的请求:

然后我就找不到原因了


第一次是Get请求,走的Get后面的Action,但是第二次是,POST请求,然后还是走的是Get的Action。然后,我在Login() Action里面打出了,我post过去的两个值。

【热门文章】
【热门文章】