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 :

Rechercher fichier xml à chaque lecture


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Points : 23
    Points
    23
    Par défaut Rechercher fichier xml à chaque lecture
    Bonjour. Voici mon code. Est ce que vous pourriez me dire pourquoi ceci ne fonctionne pas? Je veux que chaque requête soit unique pour que le fichier soit relu à chaque click.
    Merci
    Code JAVASCRIPT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $(document).on('click', '#calcul', function(){
       var uniq = new Date();
        var uniq = "uniq="+uniq.getTime();
        var titi =  ($('p').text())
        var xmlHTTP = new XMLHttpRequest();
        xmlHTTP.open("GET","../model/forum.xml" + uniq ,true);
        xmlHTTP.send();
        var myXML = xmlHTTP.responseXML;
        alert(myXML);
    });

    ca me renvoie NULL.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hum. Tu peux nous montrer quelle URL est appelée avec ton open(), du coup ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Il faut que le serveur renvoi une réponse avec l'entête no cache
    sinon le navigateur reprends la version locale et ne recharge pas.

    A+JYT

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Hum. Tu peux nous montrer quelle URL est appelée avec ton open(), du coup ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlHTTP.open("GET", "../model/forum.xml", false);
    voilà le fichier à ouvrir.


    En fait j'arrive à l'ouvrir une fois. Mais ce que je dois faire c'est le recharger car sinon ça ne prend pas en compte les modifications.

    Ici j'essaie de lui donner la variable unique pour que chaque ouverture se fasse de façon unique.

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Il faut que le serveur renvoi une réponse avec l'entête no cache
    sinon le navigateur reprends la version locale et ne recharge pas.
    En fait, la solution la plus correcte pour éviter de récupérer le fichier en cache est d'utiliser la méthode POST qui sert précisément à cela.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Techniquement la méthode POST sert à poster une nouvelle information.

    Mais il faut reconnaître que c'est un moyen simple de ne pas avoir de cache qui tienne. Je me rends simplement compte que ça me surprend qu'un serveur web accepte de renvoyer simplement un fichier tel quel en réponse à un POST sur l'URL qui le désigne. Sur du PHP c'est normal. Sur n'importe quel cgi c'est normal. Mais sur un fichier statique je n'y avais même pas pensé .
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Techniquement la méthode POST sert à poster une nouvelle information.
    Exact, désolé pour l'imprécision...
    Mais c'est bien cette caractéristique qui permet de ne pas utiliser le cache.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  8. #8
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Oui une autre technique consiste à ajouter un timestemp dans l'url
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "../model/forum.xml?dc=" + timestemp
    mais la vrais bonne solution est que le serveur renvoie un no cache
    tu peux dans le dossier model ajouter un fichier .htaccess
    et gérer le cache sur certains type de fichier
    http://www.askapache.com/htaccess/us...-htaccess.html
    Code apache : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <filesMatch "\.(xml|css)$">
      FileETag None
      <ifModule mod_headers.c>
         Header unset ETag
         Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
         Header set Pragma "no-cache"
         Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
      </ifModule>
    </filesMatch>

    A+JYT

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Points : 23
    Points
    23
    Par défaut Merci :)
    Merci

Discussions similaires

  1. Recherche fichier XML
    Par jihnDrake dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 08/02/2013, 12h31
  2. Réponses: 10
    Dernier message: 07/01/2013, 11h25
  3. ouvrir un fichier xml en lecture avec silverlight 3
    Par rimenis dans le forum Silverlight
    Réponses: 3
    Dernier message: 07/05/2011, 14h20
  4. [XML] Lire le contenu d'un fichier XML et lecture des valeurs
    Par altair8080 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 11/07/2010, 03h17
  5. Fermer un fichier xml en lecture.
    Par piotrr dans le forum Framework .NET
    Réponses: 8
    Dernier message: 19/06/2009, 14h25

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