Maison  >  Article  >  développement back-end  >  Go code n'imprime pas la valeur json publiée à partir de jquery ajax

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

WBOY
WBOYavant
2024-02-09 14:30:09808parcourir

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)

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
}

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;
    }
});

html

<form class="loginForm form-signin"><br>    
    <input type="text" name="username" />
    <input type="password" name="password" />
    <button type="submit">Log In</button>
</form>

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
}

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer