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

AJAX Discussion :

[AJAX] Ajax et l'actualisation de la page


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de simotaqi
    Inscrit en
    Février 2010
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 144
    Par défaut [AJAX] Ajax et l'actualisation de la page
    bonjour , j'ai une seule question en ce qui concerne le fonctionnement ajax.
    bon, je suis un débutant habitué à ajax.
    ma question est:
    1-si je fait un petit projet ajax, je vois que si j'actualise la page , tout les résultat retourné par ajax vont disparaître. Comment éviter ce fait???
    et merci d'avance

  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 simotaqi Voir le message
    Comment éviter ce fait???
    n'utiliser Ajax que lorsque cela est nécessaire et pertinent
    Citation Envoyé par simotaqi
    1-si je fait un petit projet ajax, je vois que si j'actualise la page , tout les résultat retourné par ajax vont disparaître. Comment éviter ce fait???
    Ce n'est pas tout à fait exact : ce qui disparait ne concerne que la structure de ta page : si ton script Ajax ajoute/modifie un élément (un div, span ou autre) dans la page pour rendre compte du traitement Ajax, effectivement cet élément ne sera plus présent après un CTRL+F5.
    Par contre, si ce même traitement modifie une info (disons l'email) du pseudo sélectionné, lorsque tu feras un CTRL+F5, l'info récemment modifiée sera bien affiché correctement (ici le nouvel email). Sous réserve, bien sûr, qu'il soit prévu d'afficher cette info dans la page dès son chargement.

    Pourrais-tu décrire un cas concret ?

    A+

  3. #3
    Membre confirmé Avatar de simotaqi
    Inscrit en
    Février 2010
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 144
    Par défaut
    Merci de votre réponse:
    ici , je le code d'un petit project que j'ai réalisé avec la technologie ajax, si tu peux me donner une solution pour ne pas perdre les résultats de la réponse,
    il s'agit d'une application dans laquelle on entre une adresse d'une page web
    et il nous retourne les mots clés...

    coté client (code html)

    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
     
    <html>
    <head>
    <title>Recherche des mots clé</title>
    <script type="text/javascript" language="JavaScript" src="fonctions.js"></script>
    <body>
    <form method="POST">
    <h1>Mots Clé</h1>
    <br>URL: Http:// <input type="text" id="url"></input></br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="button" id="recherche" class="recherche" onclick="callAjax('keywords.php?myurl='+document.getElementById('url').value,'displaydiv','data loading...,please wait!')" value="  rechercher  "></input>
    <br><div id="displaydiv" class="displaydiv"></div>
    </form>
    </body>
    </head>
    </html>

    le code du coté javascript (fonctions.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
     
    function callAjax(myurl,myelm){
    var req=null;
    try{
    req=new XMLHTTPRequest();
    }
    catch(err1){
          try{
          req=new ActiveXObject("Msxml2.XMLHTTP");
          }
          catch(err2){
          try{
          req=new ActiveXObject("Microsoft.XMLHTTP");
          }
          catch(err3){
          req=null;
          }
          }
    }
    req.onreadystatechange=function(){
    if(req.readyState==4){
    if(req.status==200){
    document.getElementById("displaydiv").innerHTML=req.responseText;
    }
    }
    else{
    document.getElementById("displaydiv").innerHTML='<center><image src="load.gif"></image></center>';
    }
    }
    req.open("GET",myurl,true);
    req.send(null);
    }

    et enfin le code du coté serveur , (keywords.php)

    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
     
    <?php
    $tags = @get_meta_tags('http://'.$_GET['myurl']);
    $result = $tags['description'];
    $liens=$tags['keywords'];
    if(strlen($result) > 0){
    echo $result;
    if(strlen($liens)>0){
    echo '<br><a href="http://'.$_GET['myurl'].'" target="_blank">'.$liens.'</a></br>';
    }
    } 
    else {
    echo "No keywords metatag is available for ";
    echo $_GET['myurl'];
    }
    ?>
    Aprés test, sans doute tu verras que l'actualisation de la page causera le probleme de perter des mots clés de la derniere recherche, comment faire pour eviter cela dans cette exemple???
    et merci encore

  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 simotaqi Voir le message
    Aprés test, sans doute tu verras que l'actualisation de la page causera le probleme de perter des mots clés de la derniere recherche, comment faire pour eviter cela dans cette exemple???
    Il faudrait soit effectuer ton traitement PHP (récupération des mots clés) lors de la génération de la page (donc sans Ajax cette fois), soit relancer ton appel Ajax dans le onload du <body>.
    Dans les 2 cas, tu peux utiliser une variable session PHP (mis à jour lors de ton appel Ajax actuel) pour savoir si il faut déclencher ce traitement "palliatif".

    A+

  5. #5
    Membre confirmé Avatar de simotaqi
    Inscrit en
    Février 2010
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 144
    Par défaut
    merci pour votre réponse , je vais utiliser les sessions pour garder les donneés apres actualisation

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/12/2013, 09h13
  2. [AJAX] AJAX, bouton Back et état de la page
    Par ruda.tom dans le forum AJAX
    Réponses: 0
    Dernier message: 21/08/2009, 15h38
  3. [AJAX] ajax et la vérification des versions des pages.
    Par kaayna dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 20/06/2008, 09h42
  4. [AJAX] Donnée ne s'actualise pas
    Par karim53 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/10/2006, 15h13
  5. [AJAX] Actualisation d'une page par AJAX
    Par jack_1981 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/06/2006, 13h07

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