Partage
  • Partager sur Facebook
  • Partager sur Twitter

Que ce passe-t-il vraiment après une requête asynchrone ?

Mes éléments ne sont pas définis

    1 mars 2009 à 19:01:33

    Bonsoir,

    Cette fois je me suis lancé dans la construction d'un petit site qui ne tient que sur une page. Seulement, afin qu'il soit indexé correctement, je l'ai morcelé en plusieurs parties dont une est incluse en PHP et les autres appelées en AJAX pendant le chargement.

    ça donne ça :

    <div id="mondiv">
    <?php
     if ($page == 'mapage')  // si une page précise est demandée, on inclut la partie associée en PHP  
    {
    include($array_pages[$page]);
    }
    else // si non on demande à Prototype de le faire
    {
    ?>
    <script>
    <!--
    new Ajax.Updater($('mondiv'),"mapage.php",{method: 'get'});
    //-->
    </script>
    <?php
    }
    ?>
    </div>
    


    Le problème c'est que j'utilise tout un tas de scripts en bas de page et qu'ils gueulent parce qu'ils ne voient pas le contenu arriver : j'ai des "## is not defined" ou "is null".

    Pourtant la fonction Ajax.Updater est appelée bien plus tôt dans le document HTML, d'où ma question

    Que ce passe-t-il pendant la requête et y a-t-il éventuellement un moyen pour demander à mes scripts de ne s'actionner qu'après le chargement des sous-parties ?


    Merci pour vos retours.
    • Partager sur Facebook
    • Partager sur Twitter
      1 mars 2009 à 20:05:52

      là t'utilises xAjax... si j'ai bien compris...
      donc en gros ça te génère le code Ajax... et c'est pas terrible...
      apprends à faire toi même ton code Ajax et là tu pourrais faire ce que tu veux...
      • Partager sur Facebook
      • Partager sur Twitter
        1 mars 2009 à 22:19:03

        J'utilise prototype. Je l'utilise aussi pour plein d'effets et à vrai dire ça m'ennuierait d'avoir à repenser une partie du site à ce stade de son développement... cela dit, pour l'avenir, pourquoi pas.

        edit : buarf, t'as raison, je n'arrive à rien. J'ai essayé de bricoler un callback sur onComplete ou loaded mais mes scripts m'engueulent toujours. Je pense faire ne redirection javascript sur la page d'accueil pour filtrer JS ou pas JS, mais j'ai peur que Google n'apprécie pas.
        • Partager sur Facebook
        • Partager sur Twitter

        Que ce passe-t-il vraiment après une requête asynchrone ?

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown