Почему этот запрос не ПУБЛИКУЕТСЯ?

#go #post

#Вперед #Публикация

Вопрос:

Есть много похожих вопросов, реализованных в разных стеках, но я не нашел полезного ответа. Этот код смоделирован на основе множества различных руководств, вот одно из них: https://divyanshushekhar.com/golang-forms-data-request-body /

Предполагается, что нажатие кнопки отправляет форму, чтобы можно было использовать значение DataRequest , однако оно не отображается для публикации. Почему?

 <!DOCTYPE html>
<meta charset="utf-8" http-equiv="Content-Security-Policy" content="img-src * 'self' data: https:">
<head>
  <title>Demo</title>
  <link rel="icon" type="image/png" href="./favicon.ico">
</head>

<body style="background-color:#F0F8FF" style="font-size: 18px; font-family:verdana,arial,tahoma,serif;">

<form name="demoForm" style="background-color:#92a8d1">
  <fieldset> 
    <input id="dataRequest" type="request" method="POST" value=""/>
    <button type="submit" value="Run" />
  </fieldset>
</form> 


</body>
</html>
  
 package main

import (
    "fmt"
    "net/http"
    "log"
)


func index() http.Handler {
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        switch r.Method {
        case "GET":     
            http.ServeFile(w, r, "visible/index.html")
            return 
        case "POST":
            fmt.Println("Posted a request!")
            err := r.ParseForm(); 
            if err != nil {
                log.Fatal(err)
            }
            request := r.Form.Get("dataRequest")
            fmt.Println(request)
            return
        }
    })
}



func main() {
    mux := http.NewServeMux()
    mux.Handle("/", index())
    http.ListenAndServeTLS(":443", "./server.crt", "./server.key", mux)
}
  

Комментарии:

1. Вы помещаете атрибут метода в элемент ввода. Вместо этого он должен быть в элементе формы. И атрибут id для элемента ввода должен быть «name» вместо этого.

2. Ты спас мне жизнь! Теперь я могу перестать биться головой о стену. Если вы разместите свой ответ в отдельном окне, я буду рад его принять 🙂