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的时候输出的。

这个是浏览器的请求:
图片描述

然后我就找不到原因了

阅读 4.3k
1 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题