Maison > développement back-end > Golang > formulaire html + gin ne peut pas lire correctement le corps de la requête

formulaire html + gin ne peut pas lire correctement le corps de la requête

WBOY
Libérer: 2024-02-05 22:39:07
avant
1113 Les gens l'ont consulté

htmx 表单 + gin 无法正确读取请求正文

Contenu de la question

J'ai ce formulaire en utilisant htmx et j'essaie d'envoyer la valeur d'entrée de la première entrée au serveur gin

<form hx-post="/addtodo" hx-ext="json-enc" hx-trigger="submit" hx-target="#todos" hx-swap="outerhtml">
    <input type="text" placeholder="todo" name="todo" />
    <input type="submit" />
</form>

<ol id="todos"></ol>
Copier après la connexion

serveur de démarrage

r.POST("/addToDo", func(c *gin.Context) {
    fmt.Println(c.Request.Body)
    // ^this prints "&{0xc0000b2000 <nil> <nil> false true {0 0} false false false 0xeaee20}"

    jsonData, err := ioutil.ReadAll(c.Request.Body)

    if err != nil {
        fmt.Println("something went wrong here boys")
        return
    }

    fmt.Println(jsonData)
    // ^this prints "[116 111 100 111 61 104 101 108 108 111]"
})
Copier après la connexion

J'ai pensé que l'URL de la demande de publication contienne la valeur d'entrée en tant que paramètre, mais je suis presque sûr qu'il existe un moyen de le faire dans le corps de la demande, mais il me manque juste quelque chose. Comment obtenir le corps de la requête ou l'entrée "todo" de la requête ?


Bonne réponse


Je pense que vous obtenez simplement la chaîne sous forme de []octet.

a := []byte{116, 111, 100, 111, 61, 104, 101, 108, 108, 111}
  fmt.Print(string(a))
Copier après la connexion

todo=hello

Je ne pense pas que vous ayez besoin d'analyser ceci todo=hello vous-même. Vous pouvez simplement utiliser :

https://www.php.cn/link/7476533956dd3568c1d787c5d33a547f

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal