分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

golang http.Redirect()函数容易误解的地方

发布时间:2023-09-06 01:36责任编辑:彭小芳关键词:http

调用http.Redirect()函数后,并不会立刻进行跳转,而是继续顺序执行函数中的所有的代码后,再进行跳转。但是Redirect后面的写界面的代码不会发送到游览器前端的。

代码如下:
func Chat(w http.ResponseWriter, r *http.Request) { ?
???  fmt.Println("Chat") ?
???  r.ParseForm() ?
???  withWho := r.Form.Get("withWho") ?
?
???  type ToWho struct { ?
???????    Name string ?
???  } ?
?
???  if ret := CheckCookie(r); ret == "" || "" == withWho{ ?
???????    url := "/login" ?
???????    http.Redirect(w,r, url, http.StatusFound)
???  } ?
?
  toWho := ToWho{Name: withWho} ?
???  t, err := template.ParseFiles("templates/html/chat.html") ?
???  checkError(err) ?
???  err = t.Execute(w, toWho) ?
???  checkError(err)
} ?
虽然执行了红色的(Redirect)函数,但是绿色的代码还是会执行的,只是解析的chat.html文件不会像以前写到客户端上。为什么会这样?不懂啊。所以最好在Redirect后面加上Return比较好。

golang http.Redirect()函数容易误解的地方

原文地址:https://www.cnblogs.com/xiaoleiel/p/8295635.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved