Rumah >pembangunan bahagian belakang >Golang >Pergi kod tidak mencetak nilai json yang disiarkan daripada jquery ajax

Pergi kod tidak mencetak nilai json yang disiarkan daripada jquery ajax

WBOY
WBOYke hadapan
2024-02-09 14:30:09840semak imbas

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

Editor PHP Xinyi berkongsi penyelesaian untuk membantu anda mengelak daripada mencetak nilai json yang diterbitkan daripada jquery ajax dalam kod Go. Dengan cara ini, anda boleh mengawal cetakan dengan berkesan dan memastikan kebolehbacaan dan keselamatan kod. Sama ada dalam pembangunan bahagian hadapan atau belakang, teknik ini sangat praktikal dan membantu anda memproses data json dengan lebih baik. Mari kita lihat kaedah pelaksanaan khusus!

Kandungan soalan

Butiran soalan

go kod tidak mencetak nilai json yang disiarkan daripada jquery ajax

Pergi ke induk kod

routing := chi.newrouter()
routing.post("/authenticate", authenticaterouter)

go kod

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 kod ajax

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

Penyelesaian

Anda menghantar data json, tetapi postform menggunakan data yang dikodkan url. Anda boleh melakukan ini:

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
}

Atas ialah kandungan terperinci Pergi kod tidak mencetak nilai json yang disiarkan daripada jquery ajax. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam