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

Maison  >  Article  >  développement back-end  >  Impossible d'obtenir la réponse JS du serveur Golang

Impossible d'obtenir la réponse JS du serveur Golang

王林
王林avant
2024-02-06 11:00:11369parcourir

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

Contenu de la question

J'ai du 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>

Aller sur :

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

Si j'utilise le navigateur, je reçois une réponse au format json avec les données {isavailable : true, message : "available"}.

tout est normal.

Mais pour une raison quelconque, je ne parviens pas à obtenir ces données en js. La réponse que je reçois en js est :

Aucun titre ni donnée.

Comment puis-je l'avoir?

Merci !


Bonne réponse


fetch renvoie un response objet qui doit ensuite être analysé dans un format utilisable tel que json ou texte. Puisque vous voulez le format json, vous devez procéder comme suit :

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

Voir "Utilisation de l'API fetch" pour plus de détails.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer