JS problème fetch

Fermé
TonyHerriam Messages postés 27 Date d'inscription lundi 17 août 2020 Statut Membre Dernière intervention 30 décembre 2022 - Modifié le 22 janv. 2021 à 11:53
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 2 déc. 2020 à 21:05
Bonjour,
J'ai fait un code en javascript :
<script>
function réal(){
var lienreal = ("www.lelien") ;
var realisateur = prompt("Veuillez entrer le nom d'un réalisateur que vous appréciez");
 realisateur = realisateur.replaceAll(/ /g, '%20');
var lienreal = lienreal + realisateur

fetch(lienreal, {"method": "get"})
  .then( (httpResponse) => {
    if (httpResponse.ok) {
      return httpResponse.json();
    } else {
      return Promise.reject("Fetch did not succeed");
    }
  } )
  .then(json => console.log(json.someKey))
  .catch(err => console.log(err));
</script>

Et voici ce que me renvoie la console : VM123:6 Fetch API cannot load chrome://lelien. URL scheme "chrome" is not supported.

Quelqu'un aurait-il l'amabilité d'éclaircir ce point que j'avoue ne pas comprendre ?
Merci d'avance pour vos réponses,

3 réponses

Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 325
2 déc. 2020 à 17:15
Bonjour,

Pense à attribuer à tes codes la couleur syntaxique et la forme correcte avec le bouton
<>
en haut de la fenêtre d'édition

Je modifie ton message....
0
TonyHerriam Messages postés 27 Date d'inscription lundi 17 août 2020 Statut Membre Dernière intervention 30 décembre 2022 1
2 déc. 2020 à 19:01
Ah d'accord je ne savais pas... Merci pour le Conseil ! ;)
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
Modifié le 21 janv. 2021 à 22:35
Bonjour,

Tu testes ton script en local sur ton ordi, ou bien il est hébergé sur un serveur ?

De plus, n'oublie pas qu'une URL valide commence par http ou https ...
et au passage, tes parenthèses ne servent à rien
var lienreal = "https://lelien" ;



0
Bonjour,
Je teste mon script sur la console d'éxécution Google Chrome (en faisant CTRL+SHIFT+I)
D'accord pour les parenthèses je vais modifier cela...
Merci beaucoup,
0
TonyHerriam Messages postés 27 Date d'inscription lundi 17 août 2020 Statut Membre Dernière intervention 30 décembre 2022 1
2 déc. 2020 à 19:00
Oh excusez moi ça m'avait déconnecté...
0
TonyHerriam Messages postés 27 Date d'inscription lundi 17 août 2020 Statut Membre Dernière intervention 30 décembre 2022 1
Modifié le 21 janv. 2021 à 22:44
Voilà le code sans les parenthèses, est-ce qu'on peut les enlever aussi après "prompt" ?
<code>
function réal(){
var lienreal = "www.lelien" ;
var realisateur = prompt("Veuillez entrer le nom d'un réalisateur que vous appréciez");
 realisateur = realisateur.replaceAll(/ /g, '%20');
var lienreal = lienreal + realisateur

fetch(lienreal, {"method": "get"})
  .then( (httpResponse) => {
    if (httpResponse.ok) {
      return httpResponse.json();
    } else {
      return Promise.reject("Fetch did not succeed");
    }
  } )
  .then(json => console.log(json.someKey))
  .catch(err => console.log(err));

</code>
0
TonyHerriam Messages postés 27 Date d'inscription lundi 17 août 2020 Statut Membre Dernière intervention 30 décembre 2022 1
Modifié le 21 janv. 2021 à 22:45
Voilà j'ai rajouté https :
var lienreal = "https://lelien" ;
var realisateur = prompt("Veuillez entrer le nom d'un réalisateur que vous appréciez");
realisateur = realisateur.replaceAll(/ /g, '%20');
var lienreal = lienreal + realisateur

fetch(lienreal, {"method": "get"})
.then( (httpResponse) => {
if (httpResponse.ok) {
return httpResponse.json();
} else {
return Promise.reject("Fetch did not succeed");
}
} )
.then(json => console.log(json.someKey))
.catch(err => console.log(err));

Maintenant j'ai deux nouveaux messages d'erreur :

Access to fetch at 'https:/lelien' from origin 'chrome://new-tab-page' has been /blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

VM283:6 GET https://lelien net::ERR_FAILED
(anonymous) @ VM283:6
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > TonyHerriam Messages postés 27 Date d'inscription lundi 17 août 2020 Statut Membre Dernière intervention 30 décembre 2022
2 déc. 2020 à 19:09
Déjà, tu n'as pas lu le lien expliquant comment poster correctement son code sur le forum..... je t'invite à bien le relire (tu verras, qu'il faut indiquer le LANGAGE dans les balises (ici, js (pour javascript)) afin d'avoir la coloration syntaxique.

Ensuite, tu n'as pas utilisé ce que je t'ai indiqué concernant les url "valides" .... à quoi ça sert de te donner des réponses si tu n'en lis qu'une petite partie.... il faut TOUT LIRE !!!

Et enfin.. non, les parenthèses du prompt ... il faut les laisser !
prompt .. c'est une FONCTION. ... donc les parenthèses sont nécessaires ....
0
TonyHerriam Messages postés 27 Date d'inscription lundi 17 août 2020 Statut Membre Dernière intervention 30 décembre 2022 1
2 déc. 2020 à 20:39
Je sais que l'appel de l'API fonctionne car je connais celui qui a fait l'API et il reçoit bien la demande et renvoie bien les infos.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
2 déc. 2020 à 21:05
Oui et ??
Quel rapport avec ma remarque précédente ??

Tu as vu quelque part qu'il y avait un souci avec le CORS ... donc tu colles une ligne .. là comme ça .. au pif .. dans ton code....
Sauf que la ligne en question.. n'est pas une instruction Javascript....

Regarde ici :
https://developer.mozilla.org/fr/docs/Web/HTTP/CORS
et essaye ça :
https://developers.google.com/web/ilt/pwa/working-with-the-fetch-api#:~:text=The%20CORS%20mechanism%20lets%20you,then%20requests%20the%20appropriate%20resource.
0