采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
post方法请求登录接口/user/signin,最后验证登录正确,老师视频里面是直接用w.Write([]byte("http://" + r.Host + "/static/view/home.html"))让客户端自己跳转,但是在我这边,没有实现跳转功能,只是把http://localhost:8082/static/view/home.html这个字符串作为post的结果返回给客户端了
/user/signin
w.Write([]byte("http://" + r.Host + "/static/view/home.html"))
http://localhost:8082/static/view/home.html
麻烦检查下main.go里有没加上静态资源文件的处理逻辑了:
func main() { // 静态资源处理 http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("./static")))) // ... }
我也遇到了,没跳转
麻烦检查下main.go里有没加上静态资源文件的处理逻辑,这个逻辑我可能漏了讲解。
第一张图里, 我直接在login按钮那注释掉原有代码的所有请求,进行window.location跳转到home页面。第二张图演示结果。在点击完按钮之后,谷歌浏览器有看到多了一个home.html的请求,并且浏览器url也有变化了。但是我的页面还是以前旧的登录页,而不是主页。我确定home.html这个页面是跟登录页内容不同的。
if r.Method == http.MethodGet { data, err := ioutil.ReadFile("./static/view/signin.html") if err != nil { w.WriteHeader(http.StatusInternalServerError) return } w.Write(data)}
我看到你前面页面是这样 跳转的,就是go的ioutil.ReadFile,把./static/view/signin.html这个页面给读出来,然后作为结果,w.Write返回给前端。但是在4.3这一节里, 没有进行ioutil.ReadFile操作,直接w.Write一个页面名称,这样不能跳转的吧?
我感觉像是漏了一个地方一样,直接w.Write([]byte("http://" + r.Host + "/static/view/home.html")),只是把页面路径作为字符串返回给客户端了呀,怎么能跳转呢
浏览器里signin.html里接收到返回后,通过: window.location.href = "http://localhost:8080/static/view/home.html""; 就可以实现页面的跳转了。
登录后可查看更多问答,登录/注册
紧随“云时代”技术潮流,分布式云存储系统,做第一代云程序员
1.7k 23
2.4k 13
2.0k 13
1.5k 13
1.6k 13
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号