为了账号安全,请及时绑定邮箱和手机立即绑定

GO:如何将数据发布到数据存储中?

GO:如何将数据发布到数据存储中?

Go
互换的青春 2021-06-15 17:04:08
1)通过模板方法呈现登录页面。例如:这是 index.html{{ define "title" }}Guestbook{{ end }}    {{ define "content" }}        <form action="/login" method="post">          <div><label>UserName : </label><input name="username" type="text" /></div>          <div><label>Password : </label><input name="password" type="password" /></div>          <div><input type="submit" value="login"></div>        </form>    {{ end }}2) hello.go 文件:package mainimport (  "fmt"  "html/template"  "net/http")var index = template.Must(template.ParseFiles(  "templates/base.html",  "templates/index.html",))type UserLogin struct{    UserName string    PassWord string}func handler(w http.ResponseWriter, r *http.Request) {      index.Execute(w, nil)    }/*func login(w http.ResponseWriter, r *http.Request) {          remPartOfURL := r.URL.Path[len("/login/"):]         if r.Method == "POST" {           fmt.Fprintf(w, "after",r.FormValue("username"))               }           fmt.Fprintf(w, "Hello %s!", remPartOfURL)    }*/    func login(w http.ResponseWriter, r *http.Request) {            fmt.Fprint(w, "login : ", "\n")    remPartOfURL := r.URL.Path[len("/login/"):]         if r.Method == "POST" {                 g := UserLogin{            UserName: r.FormValue("username"),            PassWord: r.FormValue("password"),        }        fmt.Fprint(w, "&g : ", &g,"\n")      }     fmt.Fprintf(w, "Hello %s!", remPartOfURL)      }func init() {    http.HandleFunc("/", handler)    http.HandleFunc("/login/", login)}问题:点击登录按钮后: &g 应该打印用户名和密码值,但显示为空: &g : &{ } 可以做什么?
查看完整描述

1 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

您可以尝试的一件事是用fmt.Fprintf语句替换http.Error语句。

例如替换:

fmt.Fprintf(w, "after",r.FormValue("username"))

和:

http.Error(w, fmt.Sprintf("after %s", r.FormValue("username")), http.StatusOK)

您正在直接写入http.ResponseWriter可能会导致问题的内容。


查看完整回答
反对 回复 2021-06-21
  • 1 回答
  • 0 关注
  • 194 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信