跳转之后页面为404

来源:4-3 编码实战:实现用户登录接口

qq_白澤_0

2021-03-28

图片描述
这里跳转到了static/view/FAILD
可能是直接拷贝老师的静态文件有问题。但是不知道怎么处理

写回答

1回答

xiaomo

2021-04-01

同学你好,应该是章节之间的go和前端代码不匹配造成的,因为这两章代码改动有些大,有兼容性问题。第四章的go代码需要和本章的static代码对应起来;第四章的登录代码应该是这样的(https://git.imooc.com/coding-323/filestore-server/src/charter4/handler/handler.go):

// SignInHandler : 登录接口
func SignInHandler(w http.ResponseWriter, r *http.Request) {
if r.Method == http.MethodGet {
// data, err := ioutil.ReadFile("./static/view/signin.html")
// if err != nil {
//  w.WriteHeader(http.StatusInternalServerError)
//  return
// }
// w.Write(data)
http.Redirect(w, r, "/static/view/signin.html", http.StatusFound)
return
}

r.ParseForm()
username := r.Form.Get("username")
password := r.Form.Get("password")

encPasswd := util.Sha1([]byte(password + pwdSalt))

// 1. 校验用户名及密码
pwdChecked := dblayer.UserSignin(username, encPasswd)
if !pwdChecked {
w.Write([]byte("FAILED"))
return
}

// 2. 生成访问凭证(token)
token := GenToken(username)
upRes := dblayer.UpdateToken(username, token)
if !upRes {
w.Write([]byte("FAILED"))
return
}

// 3. 登录成功后重定向到首页
//w.Write([]byte("http://" + r.Host + "/static/view/home.html"))
resp := util.RespMsg{
Code: 0,
Msg:  "OK",
Data: struct {
Location string
Username string
Token    string
}{
Location: "http://" + r.Host + "/static/view/home.html",
Username: username,
Token:    token,
},
}
w.Write(resp.JSONBytes())
}


0
1
qq_白澤_0
非常感谢!
2021-04-03
共1条回复

Go实战仿百度云盘-实现企业级分布式云存储系统

紧随“云时代”技术潮流,分布式云存储系统,做第一代云程序员

1077 学习 · 494 问题

查看课程