JS problème fetch

TonyHerriam Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
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 54087 Date d'inscription   Statut Modérateur Dernière intervention   7 345
 
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   Statut Membre Dernière intervention   1
 
Ah d'accord je ne savais pas... Merci pour le Conseil ! ;)
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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
Tony
 
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   Statut Membre Dernière intervention   1
 
Oh excusez moi ça m'avait déconnecté...
0
TonyHerriam Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention   1
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > TonyHerriam Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   1
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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