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 :

[AJAX] [Scriptaculous] XMLhttprequest: Optimisation de l'utilisation


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut [AJAX] [Scriptaculous] XMLhttprequest: Optimisation de l'utilisation
    Bonjour,

    Je souhaite réaliser un outil comparateur. Travaillant en PHP/Linux, aucune fonction actuelle ne semble me permettre de le faire. J’ai alors bien sûr penser à utiliser la fameuse fonction XMLhttprequest d’AJAX.

    J’ai donc actuellement un code qui s’articule comme ceci :

    1- Je lance une série de requêtes de la manière suivante :
    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
     
    <?Php
    $parameters="Param1=$Param1&Param2=$Param2";
    For ($x=1;$x<=count($TabProcess);$x++){
    ?>
    <script type="text/javascript">
    new Ajax_request('<?Php echo 'Operateur/'.$TabProcess[$x].'.php'; ?>',{
    method:'get',
    params:'<?Php echo $parameters; ?>',
    onSuccess:MyMess,
    async : true
    });
    </script>	
    <?Php
    }
    2- Je récupère un DIV (MyMess) qui s’affiche dans ma page.

    Deux constatations ( elles sont peut-être liés) :

    - Il semble que le traitement ne soit pas réellement asynchrone. En effet quelque soit l’ordre d’origine de mon tableau $TabProcess les exécutions semblent bien être séquentielles.
    - Le div est constitué de la concaténation des résultats précédent. Les images ne semble pas avoir le temps de se charger pour s’afficher. ( Il s’agit de petits logos en gif de 100 x 25 px issus d’une base locale)
    Les logos ne s’affichent clairement que lorsque le dernier process est terminé.

    Pour l’exécution de mon dev j’utilise la classe de "Rubik's" proposée sur la toile.

    Question :

    Est-ce que cette classe n’est pas tout à fait appropriée à ce que je veux faire ? ou bien dois-je l’utiliser autrement ? Avez-vous solutions autres ?

    Merci pour vos réponses,

  2. #2
    Membre confirmé Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Points : 455
    Points
    455
    Par défaut
    Est-ce que cette classe n’est pas tout à fait appropriée à ce que je veux faire ? Non mais je suis anti-framework
    Avez-vous solutions autres ? Oui
    Déjà c'est pas très bon de faire une boucle for en php pour écrire du code javascript..
    Si $TabProcess fait 50, tu va lancer 50 XHR à la suite, très rapidement car PHP sera interprété côté serveur, ne l'oublie pas.

    Si tu as un flux conséquent d'informations à rapatrier, opte pour du JSON, où tu pourras passer des tableaux en 1 seule XHR..


    NB : XHR = XmlHttpRequest

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut
    Bonjour d-Rek,

    Merci pour ta réponse qui semble effectivement apporté des éléments de réponse à mon souci.

    Donc, si j’ai bien tout compris, il me faudrait utiliser JSON qui me permettrait de charger dans des tableaux mes 8 requêtes http à traiter.
    Est-ce une classe ou une méthode ? Je n’ai pas su trouvé d’exemple sur la toile, peux-tu m’en dire un peu plus ?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut Intégrer une fonction de scriptaculous.js dans Ajax.Updater
    Bonjour,

    J'ai effectivement choisi de télécharger une classe de qualité.... "prototype.js". Je me sui rendu compte que la classe scriptaculous.js ainsi que sa bibliotheque, associé à prototype permettait d'ajouter des effets à l'affichage du Div.

    1 - Comment faire pour intégrer un effet de la classe scriptaculous dans ma requête Ajax.Updater

    Voici ma requête:
    <?Php
    For ($x=1;$x<=count($Tb);$x++){
    ?>
    <script language="JavaScript" >
    var parametres = 'info1=1&info2=2';
    var url = 'Operateur/<?Php echo $Tb[$x]? >.php';
    var myAjax = new Ajax.Updater('TravelMess',url,{method: 'get',parameters: parametres});
    </script>
    <?Php } ?>
    comment faire pour rajouter : Effect.Fade('TravelMess'); ?

    2 - d-Rek m'a été déconseillé de faire une boucle en php pour lancer mes requêtes successives. Il suggére d'utiliser JSON pour envoyer un tableau en une seule action XmlHttpRequest.
    (Mon tableau contient au maximum 10 requêtes).
    Quelqu'un sait comment cela s'utilise? y a-t-il un autre solution?

    Merci de vos réponses,

Discussions similaires

  1. [AJAX] Objets XMLHttpRequest <-> Sql
    Par kij dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 05/11/2006, 12h41
  2. [Optimisation] index non utilisé et using temporary
    Par jp_rennes dans le forum Requêtes
    Réponses: 6
    Dernier message: 23/10/2006, 10h05
  3. [Ajax] Problème XMLHttpRequest Firefox
    Par wwave dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 08/09/2006, 15h42
  4. [Optimisation] Comment bien utiliser le StringBuffer?
    Par mathieu dans le forum Langage
    Réponses: 4
    Dernier message: 17/05/2004, 14h22
  5. [Stratégie][GC] Optimiser la mémoire utiliser
    Par Piolet dans le forum Général Java
    Réponses: 12
    Dernier message: 05/05/2004, 10h51

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