萌新请教,在beego中一个带参的 /login?logout=true GET请求,this.Input().Get("logout") 得到空字符串。

weixin_38075910 2019-09-20 10:43:33
- **app.conf**中已加入 copyrequestbody = true

appname = goblog
httpport = 8080
runmode = dev
copyrequestbody = true

- **router.go**中设置路由规则

func init() {
beego.Router("/", &controllers.MainController{})
beego.Router("/login", &controllers.LoginController{})
}

- 页面代码

<div class="pull-right">
<ul class="nav navbar-nav">
{{if .IsLogin}}
<li>
<a href="/login?logout=true">退出</a>
</li>
{{else}}
<li>
<a href="/login">管理员登录</a>
</li>
{{end}}
</ul>
</div>

- **login.go**中处理请求

type LoginController struct {
beego.Controller
}

func (this *LoginController) Get() {
beego.Info("The Login Get().")

beego.Info(this.Input().Get("logout")) // 始终得到的是空字符串

isLogout := this.Input().Get("logout") == "true"
beego.Info(strconv.FormatBool(isLogout))
if isLogout {
beego.Info("The isLogout is true.")
this.Ctx.SetCookie("account", "", -1, "/")
this.Ctx.SetCookie("password", "", -1, "/")
this.Redirect("/login", 301)
return
}

this.TplName = "login.html"
}

请大佬们帮忙分析下,请求地址 /login?logout=true,后台 this.Input().Get("logout") 取不到值的问题出在哪儿,非常感谢。
...全文
157 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38078536 2019-09-20
  • 打赏
  • 举报
回复
beego.Info(this.Input().Get("logout")) // 始终得到的是空字符串 fmt.Println(this.Input().Get("logout")) 可以取到
weixin_38082682 2019-09-20
  • 打赏
  • 举报
回复
谢谢楼上。已找到问题,是因为URL缓存造成了参数获取不到。

473

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧