Heim  >  Artikel  >  Backend-Entwicklung  >  Go-Code druckt den geposteten JSON-Wert von Jquery Ajax nicht

Go-Code druckt den geposteten JSON-Wert von Jquery Ajax nicht

WBOY
WBOYnach vorne
2024-02-09 14:30:09807Durchsuche

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

PHP-Editor Xinyi stellt eine Lösung vor, die Ihnen hilft, das Drucken des von jquery ajax veröffentlichten JSON-Werts im Go-Code zu vermeiden. Auf diese Weise können Sie den Ausdruck effektiv kontrollieren und die Lesbarkeit und Sicherheit des Codes gewährleisten. Ob in der Front-End- oder Back-End-Entwicklung, diese Technik ist sehr praktisch und hilft Ihnen, JSON-Daten besser zu verarbeiten. Werfen wir einen Blick auf die konkrete Implementierungsmethode!

Frageninhalt

Fragendetails

Go-Code druckt den geposteten JSON-Wert von Jquery Ajax nicht aus

Gehen Sie zum Code-Master

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
}

jquery Ajax-Code

$.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>

Workaround

Sie senden JSON-Daten, aber postform verwenden URL-codierte Daten. Sie können dies tun:

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
}

Das obige ist der detaillierte Inhalt vonGo-Code druckt den geposteten JSON-Wert von Jquery Ajax nicht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen