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

JavaScript Discussion :

Compteur en javascript (Affichage sur une page html)


Sujet :

JavaScript

  1. #21
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 22
    Par défaut
    Citation Envoyé par Watilin Voir le message
    Aucune des deux ne marchent :/

  2. #22
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 22
    Par défaut
    Citation Envoyé par Loralina Voir le message
    Bonjour,
    Tout d'abord, il faut savoir que les navigateurs peuvent ouvrir un panneau (touche F12) donnant des tas d'informations : par exemple, dans la console, on pourrait voir précisément ce qui a été reçu suite à la requête ajax.

    En attendant de découvrir ça, moi, si je n'étais pas à l'aise avec tout ça, je ferais ces deux choses :

    ...
    Ces deux choses marchent parfaitement c'est seulement le code qui est dans le fichier js qui ne fonctionne pas.
    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
    fetch('envoi.php')
     
        .then(response => {
     
            return response.json();
            alert("test2");
     
        })
        .then(data => {
            variable = data;
            alert(variable); // ou alert('Nombre : ' + variable)
            document.getElementById("zone").innerHTML = variable;
        })
       .catch(err =>
        {
            alert("erreur"+ err.message);// Que faire en cas d'erreur d'appel du script PHP
     
        });

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

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Citation Envoyé par marine.a Voir le message
    Aucune des deux ne marchent :/
    Qu’as-tu essayé ?

    Citation Envoyé par marine.a Voir le message
    Ces deux choses marchent parfaitement c'est seulement le code qui est dans le fichier js qui ne fonctionne pas.
    Attention, dans ton premier .then(), le alert() n’est jamais appelé car il est après un return :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        .then(response => {
     
            return response.json();
            alert("test2");
     
        })
    Pour répondre à ta question en commentaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            alert("erreur"+ err.message);// Que faire en cas d'erreur d'appel du script PHP
    Il y a deux cas de figure :
    1. Une erreur réseau ;
    2. Une erreur du script PHP.

    Dans le premier cas, fetch émet une TypeError qui est attrapée par ton .catch().
    Dans le second cas, ça dépend de ce que renvoie le PHP. S’il renvoie un message d’erreur, il sera probablement invalide en tant que JSON, et ton .catch() capturera une SyntaxError disant quelque chose à propos de JSON. Dans cette situation, difficile de voir quelle était la réponse du serveur, mais tu peux la retrouver dans l’onglet réseau du panneau F12, en cliquant sur la ligne de la requête fetch correspondante.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  4. #24
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 22
    Par défaut
    Déjà de base j'ai toujours le problème qu'après avoir été sur le fichier envoi.php je ne sais pas comment le renvoyer automatiquement vers index.html et rien n'apparait en réseau a par le css
    Nom : captt.JPG
Affichages : 358
Taille : 52,8 Ko

  5. #25
    Membre émérite
    Femme Profil pro
    Autre
    Inscrit en
    Janvier 2017
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Janvier 2017
    Messages : 340
    Par défaut
    Bonjour,
    Le script php attend une variable en POST, or aucune donnée n'est envoyée par le js en faisant juste fetch('envoi.php').
    Quelques exemples ici :
    https://stackoverflow.com/questions/...t-fetch-in-php

    Citation Envoyé par marine.a Voir le message
    Déjà de base j'ai toujours le problème qu'après avoir été sur le fichier envoi.php je ne sais pas comment le renvoyer automatiquement vers index.html et rien n'apparait en réseau a par le css
    Pas bien clair.
    Après le retour d'ajax, il faut rediriger vers index.html ?
    Il n'y avait peut-être pas besoin d'ajax pour finir.

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

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Si j’en crois ton message #9, ton .fetch() est appelé directement au début d’une balise <script>, elle-même au début du <html>. Si ce fetch n’est pas appelé, et s’il n’y a pas de message d’erreur dans la console, je ne vois qu’une explication : la balise <script> n’est pas interprétée.
    Vérifie que la balise fermante </script> est présente et que sa syntaxe est correcte.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  7. #27
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 22
    Par défaut
    Citation Envoyé par Loralina
    Pas bien clair.
    Nom : 2.JPG
Affichages : 434
Taille : 36,8 Ko
    Quand je démarre mon programme je vais d'abord sur form.html pour renseigner si il y a eu un nombre important de décès je clique sur valider, cela me renvoit vers la page envoi.php qui m'affiche la somme de tous les nb de décès importants entrés depuis le début, et ensuite j'aimerais que ce soit redirigé automatiquement vers index.html qui afficherait les compteurs (Le compteur de population mondiale auquel on aurait soustrait le nb de décès importants
    Voici le code 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
    24
    <body>
    <header>
        <div id ="headerr">
            <div id="logo">
                <img src="logo.JPG" alt="Logo de Nausicaa" />
            </div>
            <div id="image">
                <h4>Population mondiale <img src="drapeau.jpg" class="imageflottante" alt="Image flottante" />
                    || World population  <img src="anglais.jpg" class="imageflottante2" alt="Image flottante 2"/>
                    || Wereldbevolking  <img src="drapnd.jpg" class="imageflottante3" alt="Image flottante 3"/>
                </h4>
            </div>
        </div>
    </header>
    <script src = "../time.js"></script>
     
    <p><span id="timer"></span></p>
     
    <p>nb deces importants <span id="zone"></span></p>
     
    <p> Population française || French population || Franse bevolking <br/><span id="timerFr"></span></p>
     
     
    </body>
    Les codes de envoi.php et de time.js ont déjà été mis plus tôt dans des posts précédents

  8. #28
    Membre émérite
    Femme Profil pro
    Autre
    Inscrit en
    Janvier 2017
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Janvier 2017
    Messages : 340
    Par défaut
    Si je regarde le message #9 auquel fait référence Watilin, je vois sur la capture écran, dans la barre d'adresse qu'on est sur le fichier envoi.php.
    Le script avec fetch tel qu'il est écrit ne ferait jamais une telle redirection.
    Visiblement, le fichier envoi.php est appelé par ailleurs depuis un formulaire html classique.
    Cette nouvelle précision le confirme :
    je clique sur valider, cela me renvoit vers la page envoi.php
    De plus, ce script avec fetch s'exécute directement et n'attend pas le clic du bouton "valider" donc c'est bien que le bouton valider soumet un formulaire totalement indépendant de ce script.

    L'échange avec fetch tel qu'il est fait ne peut aboutir qu'à une erreur vu qu'il n'envoie pas de données sur POST et que le script envoi.php, qui en attend une, devrait retourner une erreur de ce point de vue.

    Par contre, le clic sur le bouton valider, lui, il va envoyer pour de bon une variable en POST, s'accompagnant d'un changement d'adresse vers le fichier envoi.php.
    Il serait possible de rediriger en php avec header('Location: ...'); dans le script envoi.php.

    Doit-il y avoir, par ailleurs, un échange via fetch avec un script php en vue de renseigner la balise "zone" ?
    Si oui, à voir si on échange avec le même fichier, mais il y aura des adaptations à faire (par exemple, mais ce n'est pas idéal, le script pourrait regarder s'il n'a pas reçu de variable POST pour savoir s'il est appelé par ce fetch et retourner l'information souhaitée).

    Je dis tout ça en supposant que le "envoi.php" du fetch et le "envoi.php" du formulaire html correspondent bien au même fichier.

  9. #29
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 22
    Par défaut
    le header'location' marche bien mais cela me met toujours le message d'erreur : echec de lecture
    la photo c'était parce que je m'étais tromper dans le chemin d'accès

    Il n'y a qu'un seul fichier envoi.php
    Images attachées Images attachées  

Discussions similaires

  1. insérer une image sur une page html sans joindre son fichier
    Par fidji dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 03/02/2006, 10h15
  2. Récupérer des données sur une page HTML
    Par rupeni dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 18/11/2005, 17h22
  3. comment rediriger sur une page html en fonction de la langue
    Par pierrot10 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/08/2005, 11h42
  4. Marge sur une page HTML
    Par wollverine dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 28/04/2005, 13h56
  5. Problème de chaine sur une page HTML
    Par Kerod dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/11/2004, 16h23

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