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

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

王林
Libérer: 2024-02-06 11:00:11
avant
411 Les gens l'ont consulté

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

Contenu de la question

J'ai du HTML :

<button onclick="clicklistener()" id="form-button" type="button" class="btn btn-primary">click</button>
Copier après la connexion

js :

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

            fetch("/address")
                .then(response => {
                    console.log(response)
                })
                .catch(e => {
                    console.log(e)
                })
        }
   </script>
Copier après la connexion

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")
    }
}
Copier après la connexion

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))
Copier après la connexion

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!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal