Невозможно принять данные формы ввода в качестве переменной в Golang - PullRequest
0 голосов
/ 08 июня 2019

Я хочу принять значение этой формы ввода 'email' в качестве переменной в 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>

Мой код Голанга:


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.

1 Ответ

0 голосов
/ 10 июня 2019
  } 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
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...