Maison > développement back-end > Golang > le corps du texte

Go code n'imprime pas la valeur json publiée à partir de jquery ajax

WBOY
Libérer: 2024-02-09 14:30:09
avant
808 Les gens l'ont consulté

Go 代码不打印来自 jquery ajax 的已发布 json 值

L'éditeur PHP Xinyi partage une solution pour vous aider à éviter d'imprimer la valeur json publiée à partir de jquery ajax dans le code Go. De cette manière, vous pouvez contrôler efficacement l’impression et garantir la lisibilité et la sécurité du code. Que ce soit en développement front-end ou back-end, cette technique est très pratique et vous aide à mieux traiter les données json. Jetons un coup d'œil à la méthode de mise en œuvre spécifique !

Contenu de la question

Détails de la question

go code n'imprime pas la valeur json publiée à partir de jquery ajax

Allez au maître du code

routing := chi.newrouter()
routing.post("/authenticate", authenticaterouter)
Copier après la connexion

go code

func authenticaterouter(w http.responsewriter, r *http.request) {
    username := r.postform.get("username")
    fmt.println(r.postformvalue("username"))  //not showing posted value
    fmt.println(r.form.get("username"))       //not showing posted value
    fmt.println(r.form.get("username"))       //not showing posted value
}
Copier après la connexion

code ajax jquery

$.ajax({
    "type": "post",
    "url": "authenticate",
    "contenttype": "application/json; charset=utf-8",
    "datatype": "json",
    "data": json.stringify({
        "username": $(form).find("[name='username']").val(),
        "password": $(form).find("[name='password']").val(),
    }),
    beforesend: function() {
    },
    success: function(response) {
        debugger;
    },
    error: function(response) {
        debugger;
    },
    complete: function(response) {
        debugger;
    }
});
Copier après la connexion

html

<form class="loginForm form-signin"><br>    
    <input type="text" name="username" />
    <input type="password" name="password" />
    <button type="submit">Log In</button>
</form>
Copier après la connexion

Solution de contournement

Vous envoyez des données json, mais postform utilisez des données codées en URL. Vous pouvez faire ceci :

type authBody struct {
   Username string `json:"username"`
   Password string `json:"password"`
}

func AuthenticateRouter(w http.ResponseWriter, r *http.Request) {
   dec:=json.NewDecoder(r.Body)
   var body authBody
   if err:=dec.Decode(&body); err!=nil {
      // deal with err
   }
   // Work with body.Username and body.Password
}
Copier après la connexion

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!