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