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

Heim  >  Artikel  >  Backend-Entwicklung  >  JS-Antwort vom Golang-Server kann nicht abgerufen werden

JS-Antwort vom Golang-Server kann nicht abgerufen werden

王林
王林nach vorne
2024-02-06 11:00:11369Durchsuche

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

Frageninhalt

Ich habe 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>

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

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

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!

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