我正在使用web.go编写一个小应用程序,其中包含一个为表单提供服务的函数。如果表单无效,用户将被重定向到同一页面:
func mypage(ctx *web.Context) {
if ctx.Request.Method == "GET" {
// show the form
} else if ctx.Request.Method == "POST" {
// redirection if the form is not valid:
ctx.Request.Method = "GET"
http.Redirect(ctx.ResponseWriter,
ctx.Request, "/mypage", http.StatusNotAcceptable)
return
}
}
这样做有一点需要注意,当表单无效时,它会首先显示一个页面,其中包含"Not Acceptable"
所喜欢的文字/mypage
。如果表单无效,如何直接转到/mypage
?我怀疑它与http.StatusNotAcceptable
有关,但我不知道应该用它替换它。
答案 0 :(得分:1)
事实证明这很容易:)
ctx.Request.Method = "GET"
mypage(ctx)
无需http.Redirect
。重要的是在调用Method
之前先将GET
更改为mypage(ctx)
。