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 :

Obligation de rafraichir la page pour que la fonction s'exécute.


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 59
    Par défaut Obligation de rafraichir la page pour que la fonction s'exécute.
    Bonjour. J'ai le code suivant sur une page .html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type = "button" value = "Lancer xhr" onclick = "xhr()">
    Et voici la fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function xhr(){
    	alert('test fonction');
    	xhr = new XMLHttpRequest();
    	xhr.open("POST", "fou.php", true);
    	xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    	xhr.send("message=coucou&expediteur=testeur");
    }
    Lorsque je clique sur le boutton, la première fois, tout se passe bien. Seulement bah après j'ai beau cliqué, la fonction ne s'exécute plus. Obliger d'actualiser la page.
    Voila si quelqu'un a la solution.
    En vous remerciant!
    Nodogeid.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Citation Envoyé par nodogeid Voir le message
    Lorsque je clique sur le boutton, la première fois, tout se passe bien. Seulement bah après j'ai beau cliqué, la fonction ne s'exécute plus. Obliger d'actualiser la page.
    ça ressemble à un plantage JS.
    Si (par exemple) tu fais un eval() du responseText à réception, mais que le contenu n'est pas celui attendu, cela génère une erreur. Or sur une erreur, JS plante et ne fonctionne plus ensuite (pour faire l'appel suivant).
    Par contre, quand tu recharges ta page, tu remets tout d'aplomb.

    Décortique le traitement que tu fais à réception de la réponse (pas visible ici) pour voir ce qui peut générer l'erreur ...

    Et vérifie que les "Notifications d'erreurs de scripts" (appellation IE) sont bien activées dans ton nav'.

    A+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 59
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Décortique le traitement que tu fais à réception de la réponse (pas visible ici) pour voir ce qui peut générer l'erreur ...
    Bonjour et merci de votre réponse.
    Le truc c'est que je ne fais pas de traitement à la réception de la réponse. Je me suis dis que ca me serait inutile vu que je n'avait pas besoin de ce que ma page "fou.php" renvoyait.
    En fait la page "fou.php recupère et insère dans une base de données les données envoyées (grace au XMLHttpRequest). C'est tout, elle n'affiche rien.
    Ais-je quand meme besoin d'effectuer un traitement à la réception de la réponse?
    Je pensais qu'il ne falait faire un traitement seulement si on devait afficher du texte présent sur la page ou la requete a été effectuée.
    Merci d'avance.
    Nodogeid.

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par nodogeid Voir le message
    Le truc c'est que je ne fais pas de traitement à la réception de la réponse. Je me suis dis que ca me serait inutile vu que je n'avait pas besoin de ce que ma page "fou.php" renvoyait.
    Effectivement ... sauf si elle te renvoie "BDD indisponible" ou "Table inexistante" ou autre erreur du serveur
    Au moins qu el'utilisateur soit informé que sa màj n'a pas eu lieu ...

    Sinon, pour l'erreur elle-même, ne serait-ce pas le nom en commun de ta fonction xhr() et de ton objet xhr ?
    Ne remplace-t-il pas ta déclaration de fonction xhr() par sa "nouvelle définition"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr = new XMLHttpRequest();
    Dans ce cas, lors du 2° appel cela créerait effectivement une erreur ...
    Test simple : essaye de renommer l'objet xhr ...

    A+

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 59
    Par défaut
    Résolu!
    Le problème venait effectivement du fait que mon objet xhr ait le même nom que la fonction.
    Je te remercie pour la solution et pour tes réponses rapides et précises!
    Nodogeid.

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

Discussions similaires

  1. Structurer une page pour que le contenu au dessus se charge en priorité
    Par la-ilaha-ila-allah dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 12/12/2013, 13h48
  2. RAP : Rafraichissement de ma page pour que ça fonctionne
    Par ulrichv dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 07/10/2010, 10h21
  3. rafraichir une page dés que l'on ferme une window.open
    Par bilou95 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/07/2007, 14h49
  4. Réponses: 24
    Dernier message: 24/05/2006, 19h19
  5. comment rafraichir une page pour voir l'image
    Par jonathan.ohayon dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 22/05/2006, 22h57

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