"fetch: api to website"

Résolu
Warren37 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -  
Warren37 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, je souhaite récupérer une donnée api

J'ai regardé ce tuto

https://www.youtube.com/watch?v=2lt4HmLm8LE&ab_channel=NadfriJS

Mais Rien ne s'affiche côté Web.

Merci d'avance


HTML:
<input type="text" placeholder="Score">
         <button id="btn">GET Info</button>
         <div id="output"></div>


Javascript:
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer tokenIci");

var requestOptions = {
  method: 'GET',
  headers: myHeaders,
  redirect: 'follow'
};

btn.onclick= () =>{
  fetch("lienApiIci", requestOptions)
  .then(response => response.json())
  .then(data => {
    output.textcontent = "";
    output.textcontent = 'Compte de ${data.clanTag.clanScore}';
  })
  .catch(error => console.log('error', error));
}




Configuration: Configuration: Windows / Firefox 101.0
A voir également:
  • "fetch: api to website"
  • Fetch Art - Télécharger - Catalogage

8 réponses

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Il ne semble pas possible d'utiliser l'API de clashroyale.com via du JavaScript dans un navigateur (coté client) à cause du mécanisme CORS (Cross-origin resource sharing), essaye si possible d'utiliser un script coté serveur.
Un exemple avec PHP : https://pastebin.com/2Af68dv5
1
Warren37 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   3
 
Merci. Génial! Pitet vous êtes un chef! J'ai configuré avec xampp. Je reçois les données dans ma page indexhtml.php

Je vais essayer d'isoler une donnée avant de cloturer la discussion
1
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Bonjour,

Quel est le message d'erreur affiché dans la console ?

Si besoin, essaye de l'afficher comme ceci :
    .catch(error => console.log('error', error.message));
0
Warren37 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   3
 
J'ai ceci:

TypeError: i is undefined
util.js:56
ReferenceError: $ is not defined
script.js?ver=18:110
error
NetworkError when attempting to fetch resource.
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Les premiers message d'erreur ne correspondent pas au code de ton premier message (pas de variable i dans ton code, ni d'utilisation de $). Un problème/oubli de chargement pour jQuery ?
Commence par corriger les autres erreurs de ton script.

Tu as bien modifier le lien de l'API dans ton code ("lienApiIci") ? Quel est le status code dans l'onglet réseau des outils de développement du navigateur pour ce lien (404 ou autre) ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Warren37 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   3
 
Autant pour moi ces erreurs venaient d'ailleurs et je les ai corrigé.

Quand je clique sur le bouton "Get info" ça parcours mon fichier javascript index.js et ça me met:

error
NetworkError when attempting to fetch resource.


Quand je coupe le debug, j'ai la requête OPTION au code 200 et GET de mon api à 403



Et dans le <head></head> j'ai:


<script src="jquery-3.6.0.min.js"></script>
<script src="index.js" defer></script>


A la base, j'ai pris la requête généré sous postman du fetch javascript puis je l'ai modifié avec le tuto.

J'ai remplacé le lienApiIci et le Token oui
0
Warren37 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   3
 
Maintenant le code Get me renvoie 400 ou 403 suivant ce que je fais
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Le status code 400 indique que le requête n'est pas correcte (syntaxe ou contenu invalide). 403 indique un problème d'autorisation. Le token passé dans l'entête est correcte ?
C'est pour utiliser quelle API (Clash of Clan à priori) ? Essaye de consulter la documentation de l'API, tu devrais y trouver plus d'infos.
0
Warren37 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   3
 
J"essaye de récupérer un get clanTag mais toujours cette erreur 400

"Le client fournit des paramètres incorrecte pour la requête."


https://developer.clashroyale.com/#/documentation
0
Warren37 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   3
 
Dans réseau quand je clique sur le fichier .js où il y a le code 400 et j'ai:

btn.onclick

(Asynchrone : EventHandlerNonNull)
0