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

Bibliothèques & Frameworks Discussion :

Ajax.Request ou Ajax.Updater ou update ? [script.aculo.us]


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Par défaut Ajax.Request ou Ajax.Updater ou update ?
    Bonjour,

    je travaille sur un site marchand. Quand je clique sur un article, il me met un haut, la liste des articles que j'ai ajouté. Bon ça fonctionne, mais je ne sais pas si ma méthode est la bonne où non. Ce que je voudrais c'est que quand je clique, il y ait une petite image loading qui s'affiche tant que le texte n'est pas ajouté.
    (
    donc quand je clique sur un article j'ai : add(numItem);
    (squelette de ma page : template Haut inclus dans toutes les pages et c'est dans ce haut que le texte s'affiche. J'utilise smarty

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href='javascript:add({$article->numItem});'>
    <img  align="top"src='/images/ajouter_numItem.gif' border='0' alt="Acheter {$article->titre}" style="float:left"/></a>
    voici la fonction add :
    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
    function add(numItem){
        var url = '/ajaxMEA/addToBloc.php';
    	var params = 'numitem=' + numItemAVendre;
     
    	var myAjax = new Ajax.Request(
    	url,
    	{
    		method: 'get',
    		parameters: params,
                    onLoading: function (xhr)
                    {
                         Element.show('loading');
                    },
    		onSuccess: handleAddToBlocFrontOffice,
    		asynchronous: false
    	});
     
    }
    function handleAddToBlocFrontOffice(requete){
     
            $('contenuBlocHaut').innerHTML=textData;
     
    }
    le code php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     echo '<div id="loading" class="loading" style="display:none; height:50px;">chargement....</div>';
    echo '<p id="titreContenu">Ma sélections ('.$nbArticles.') articles</p>';
            echo '<ul>';
     
      foreach($articles->getTitre() as $key=>$unArticle)
      {
    		echo '<li id="item_'.$unLivre[$unArticle->contenu].'">'.substr($unArticle['titre'],0,70).'&nbsp;&nbsp;&nbsp;<a href="javascript:removeItem('.$unArticle[$unArticle->contenu].')">[X]</a></li>';
      }
    	echo '</ul>';
    Le pb c'est que quand je change de page, mon contenu est vide.... j'ai donc dans mon template haut, en php un select qui affiche ces éléments. et là je trouve que c'est pas très propre comme code .
    Donc ma question, comment faire pour que quand j'ajoute un article, j'ai un loading qui s'affiche, et le texte qui s'insert dans <div id="contenuHaut"></div> et qui reste meme si je change de page, ?

    j'ai vu qu'il existait une méthode update ? est ce que celà pourrait correspondre, puisque moi, je veux afficher et mettre à jour mon div ?

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Par défaut
    Salut,

    La zone en haut qui affiche la liste de tes articles est une sorte de panier. Il faut donc que côté PHP, dans cette zone, tu récupères les infos et les affiche. Ce quet tu as fait côté javascript pour mettre à jour le panier ne sert qu'à ajouter un article au panier via AJAX... bien que tu ne sois pas en asynchrone ! du coup je ne vois pas l'intéret.

    Pour aller dans les détails, je pense que la requete AJAX devrait être en POST... et que tu pourrais effectivement passer par un Ajax.Updater.

    La méthode update ne sert qu'à mettre à jour le contenu d'un élément HTML

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Par défaut
    Merci pour ta réponse.

    Oui j'ai changé synchrose et asynchrose car j'avais un délai avec la mise à jour.
    Donc du coup on est bien obligé de mettre les infos du haut en php... C'est ce que j'ai fait mais ne savais pas si c'était nécessaire où pas..
    Bien comme ça sert à mettre à jour le contenu html.. je m'en vais de ce pas essayer avec updater
    merci

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

Discussions similaires

  1. Ajax Jquery : click et declenchement d'update
    Par spray6969 dans le forum jQuery
    Réponses: 17
    Dernier message: 18/06/2011, 01h35
  2. [Ajax] Rafraichir le contenu d'un update panel
    Par tscoops dans le forum ASP.NET
    Réponses: 4
    Dernier message: 01/10/2009, 10h49
  3. [Prototype] Deux diaporamas avec Ajax.Request, Ajax.Updater et PeriodicalExecuter
    Par othmane126 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 02/06/2008, 00h37
  4. [Prototype] [DOM] ajax.updater() ou ajax.request()
    Par wincroc dans le forum Bibliothèques & Frameworks
    Réponses: 5
    Dernier message: 13/06/2007, 11h26
  5. [AJAX] Ajax.Request et le caractère '+'
    Par jon301 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/11/2006, 21h34

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