Golang - http.Redirect无法在处理程序中重定向而不是处理发布数据

时间:2016-05-01 21:19:17

标签: http redirect go

我正在考虑为身份验证执行以下操作。

(1)客户回家,说http://localhost:3000 客户端会显示一个包含用户名,密码和游戏代码的登录表单。

(2)当客户提交此表单时,我使用javascript将数据发布到 接受POST请求的http://localhost:3000/login。在我的golang文件中,相关路由定义为:

rtr := mux.NewRouter()
rtr.HandleFunc("/login", loginHandler).Methods("POST")

(3)现在我想检查三,用户名,密码和游戏代码是否有效。我从游戏代码开始,我可以毫不费力地阅读提交的值并根据数据库中的有效游戏代码列表进行检查。现在,如果游戏代码无效,我想将用户重定向到另一条路线。我没有这样做。这些是相关的:

// I check if gamecode is valid. If it is invalid, gameCodeExists = 0
if gameCodeExists == 0 {
    // this message prints on the server as expected for an invalid code
    fmt.Println("gamecode invalid...")

    // this redirect never occurs
    http.Redirect(w, req, "/loginfail", 302)
    return
} else {
    fmt.Println("Valid code")
}

有人可以帮我解决我做错了什么,以及如何解决它?

谢谢。

0 个答案:

没有答案