{console.log(response)}).tangkap"/> {console.log(response)}).tangkap">

Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tidak dapat mendapatkan respons JS daripada pelayan Golang

Tidak dapat mendapatkan respons JS daripada pelayan Golang

王林
王林ke hadapan
2024-02-06 11:00:11369semak imbas

无法从 Golang 服务器获取 JS 响应

Kandungan soalan

Saya ada html:

<button onclick="clicklistener()" id="form-button" type="button" class="btn btn-primary">click</button>

js:

<script>
        const clicklistener = () => {
            console.log('clicklistener()')

            fetch("/address")
                .then(response => {
                    console.log(response)
                })
                .catch(e => {
                    console.log(e)
                })
        }
   </script>

Pergi ke:

func Handler(writer http.ResponseWriter, request *http.Request) {
    response := jsonResponse{IsAvailable: true, Message: "Available"}

    responseInJsonFormat, err := json.MarshalIndent(response, "", " ")
    if err != nil {
        log.Println("cannot convert response data to JSON")
        return
    }

    writer.Header().Set("Content-Type", "application/json")
    _, err = writer.Write(responseInJsonFormat)
    if err != nil {
        log.Println("cannot convert response data to JSON")
    }
}

Jika saya menggunakan penyemak imbas, saya menerima respons dalam format json dengan data {isavailable: true, message: "available"}.

Semuanya berfungsi dengan baik.

Tetapi atas sebab tertentu saya tidak boleh mendapatkan data ini dalam js. Jawapan yang saya dapat dalam js ialah:

Tiada tajuk atau data.

Bagaimana saya boleh mendapatkannya?

Terima kasih!


Jawapan betul


fetch mengembalikan objek response yang kemudiannya mesti dihuraikan ke dalam format yang boleh digunakan seperti json atau teks. Memandangkan anda mahukan format json, anda perlu melakukan perkara berikut:

fetch('/address')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(e => console.log(e))

Lihat "Menggunakan api ambil" untuk butiran lanjut.

Atas ialah kandungan terperinci Tidak dapat mendapatkan respons JS daripada pelayan Golang. 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