JS-Antwort vom Golang-Server kann nicht abgerufen werden

王林
Freigeben: 2024-02-06 11:00:11
nach vorne
389 Leute haben es durchsucht

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

Frageninhalt

Ich habe HTML:

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

js:

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

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

Gehe zu:

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")
    }
}
Nach dem Login kopieren

Wenn ich den Browser verwende, erhalte ich eine Antwort im JSON-Format mit den Daten {isavailable: true, message: „available“}.

Alles ist normal.

Aber aus irgendeinem Grund kann ich diese Daten nicht in js abrufen. Die Antwort, die ich in js bekomme, ist:

Kein Titel oder Daten.

Wie kann ich es bekommen?

Danke!


Richtige Antwort


fetch gibt ein response-Objekt zurück, das dann in ein verwendbares Format wie JSON oder Text geparst werden muss. Da Sie das JSON-Format wünschen, müssen Sie Folgendes tun:

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

Weitere Informationen finden Sie unter „Verwenden der Abruf-API“ .

Das obige ist der detaillierte Inhalt vonJS-Antwort vom Golang-Server kann nicht abgerufen werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!