html - 无法将输入表单数据作为 Golang 中的变量

标签 html go

我想将此输入表单“电子邮件”值作为 Go 中的变量。但是我做不到。

我的 html 代码:

<form class="login100-form validate-form" role="form" 
                        action="/forgot" method="POST">

<input class="input100" type="email" name="email">

<input type="submit" value="Send Token" class="login100-form-btn"></form>

我的 golang 代码:


func main() {
router := newRouter()
router.HandleFunc("/forgot", forgotPageHandler)
}

func forgotPageHandler(writer http.ResponseWriter, request *http.Request) {

    pInfo := PageInfo{
        Title: "Forgot",
    }
    _, err := ActiveSession(writer, request)

    if request.Method == "GET" {

        fmt.Println("forgotGetHandler")
        if err != nil {
            generateHTML(writer, pInfo, "layout", "navPublic", "forgot")
        } else {
            generateHTML(writer, pInfo, "layout", "navPrivate", "forgot")
        }

    } else {
        fmt.Println("forgotPostHandler")
        request.ParseForm()
        fmt.Println("email:", request.Form["email"])
    }

}

我的 request.method = GET 正在工作,而 POST 甚至没有到达 else 子句。

最佳答案

  } else {
        fmt.Println("forgotPostHandler")
        request.ParseForm()
        fmt.Println("email:", request.Form["email"]) // -- Problem is here
    }

您正在使用 requst.Form[xxx]。 使用 r.FormValue("email") 而不是 request.Form["email"]

你的代码应该是

  } else {
            fmt.Println("forgotPostHandler")
            request.ParseForm()
            fmt.Println("email:", r.FormValue("email")) // -- Solution is here
        }

关于html - 无法将输入表单数据作为 Golang 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56506255/

相关文章:

javascript - 如何用js/jquery一个接一个地加载html页面?

javascript - Javascript 忽略当前处于无限循环中的 setInterval

javascript - 链接的 Accordion 主体

image - Go + Appengine Blobstore,调整图片上传大小

go - 推迟到一个函数之外

http - ioutil.ReadAll 的替代方案?

html - 在 html/css 中滚动时如何使表头卡住/固定?

html - 可以同时使用 ~ 和 + 选择器吗?

go - 为什么互斥代码会停止另一个完整的 go-routine?

json - 使用 App Engine 在 golang 中将 json 解析为来自 google api 请求的结构