IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Message d'erreur access to fetch


Sujet :

jQuery

  1. #1
    Membre du Club
    Homme Profil pro
    Consultant Marketing
    Inscrit en
    Mars 2016
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Marketing
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2016
    Messages : 285
    Points : 57
    Points
    57
    Par défaut Message d'erreur access to fetch
    Bonjour,

    Je reçois ce message d'erreur avez vous une idée ?

    Access to fetch at 'http://freegeoip.net/json/87.65.12.100' from origin 'http://weather' 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.
    app.js:12 GET http://freegeoip.net/json/87.65.12.100 net::ERR_FAILED
    main @ app.js:12
    async function (async)
    main @ app.js:10
    (anonymous) @ app.js:33
    app.js:22 Uncaught (in promise) TypeError: Failed to fetch
    mon code source index.html :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <!DOCTYPE html>
        <html lang="en">
            <head>
                <meta charset="UTF-8">
                <title>La météo chez vous !</title>
                <link rel="stylesheet" href="app.css">
                <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/weather-icons/2.0.10/css/weather-icons.min.css">
            </head>
            <body>
     
                <section id="app">
                    <h1>
                        <span id="ville">Marseille</span>
                        <span class="tooltip">Tapez une autre ville si vous le souhaitez</span>
                    </h1>
                    <i class="wi wi-day-rain"></i>
                    <h2>
                        <span id="temperature">25</span> C° (<span id="conditions">Ciel dégagé</span>)
                    </h2>
                </section>
                <script src="app.js"></script>
            </body>
        </html>

    mon fichier app.js

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
     
    function capitalize(str){
        return str[0].toUpperCase() + str.slice(1);
    }
     
    async function main(){
        const ip = await fetch('https://api.ipify.org?format=json')
            .then(resultat => resultat.json())
            .then(json => json.ip);
     
                const ville = await fetch('http://freegeoip.net/json/' + ip)
                    .then(resultat => resultat.json())
                    .then(json => json.city);
     
                        const meteo = await fetch('http://api.openweathermap.org/data/2.5/weather?q=${ville}&appid=58b98cab72465e9c2fb8a950623b8f03&lang=fr&units=metric')
                        .then(resultat => resultat.json())
                        .then(json => json)
     
                        // afficher les inofrmations sur la page
                        displayWeatherInfos(meteo)             
                    }
     
                    function displayWeatherInfos(data) {
                      const name = data.name;
                      const temperature = data.main.temp;
                      const conditions = data.weather[0].main;
                      const description = data.weather[0].description;
     
                      document.querySelector('#ville').textContent = name;
                      document.querySelector('#temperature').textContent = Math.round(temperature);
                      document.querySelector('#conditions').textContent = capitalize(description);
                    }
     
        main();

  2. #2
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Bonsoir,
    je crois que l’API n’existe plus. Je viens de saisir l’adresse http://freegeoip.net/json/87.65.12.100 dans ma barre d’adresse et j’ai été redirigé (code 301) vers l’URL http://freegeoip.net/shutdown qui est une page HTML contenant un script faisant encore une autre redirection. Ça n’a aucune chance de fonctionner avec une requête demandant du JSON, et de plus, ça n’envoie pas les bons en-têtes pour que CORS fonctionne.

    Je n’ai pas de solution à ton problème, sinon de te conseiller de trouver un autre service :/
    En attendant, voici un guide sur qu’est-ce-que c’est quoi donc CORS : https://developer.mozilla.org/fr/docs/Web/HTTP/CORS
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Membre du Club
    Homme Profil pro
    Consultant Marketing
    Inscrit en
    Mars 2016
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Marketing
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2016
    Messages : 285
    Points : 57
    Points
    57
    Par défaut
    merci à vous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] Message d'erreur access
    Par Massiliya dans le forum Access
    Réponses: 5
    Dernier message: 24/04/2017, 18h37
  2. [AC-2010] Message d'erreur : access a cessé de fonctionner
    Par arsenic1 dans le forum IHM
    Réponses: 4
    Dernier message: 22/11/2012, 14h35
  3. personnaliser le message d'erreur Access
    Par sebac dans le forum IHM
    Réponses: 2
    Dernier message: 16/11/2007, 21h53
  4. Supprimer un message d'erreur access
    Par ticam dans le forum VBA Access
    Réponses: 5
    Dernier message: 24/07/2007, 10h12
  5. comment peut on intercepter un message d'erreurs Access?
    Par atmitab3 dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/11/2005, 12h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo