cocoon-users-fr mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <sylv...@apache.org>
Subject Re: Envoyer une requete ajax ?
Date Fri, 25 Nov 2005 07:42:06 GMT
Marc Salvetti wrote:
> Bonjour,
>
> je voudrais memoriser la position d'un menu flottant dans mon appli, de
> façon a ce qu'il reste a l'endroit ou l'utilisateur le pose quand on passe
> de page en page.
> Pour ça, je voudrais utiliser la petite librairie ajax qui se trouve dans le
> nouveau bloc, car je voudrais eviter de recharger toute la page pour ça.
> En fait, il s'agit simplement d'envoyer une requete au serveur, sans meme
> attendre de reponse.
>
> Quelqu'un connait t'il suffisament la librairie pour me donner un petit
> exemple ?
>   

Voui, puisque je l'ai écrite avec mes petits doigts :-)

Un bémol toutefois: cette librairie est à considérer comme interne à 
Cocoon et va fortement évoluer dans les prochaines semaines, lors de 
l'intégration de Dojo [1]. Tu peux donc t'en inspirer, mais je te 
déconseille de l'utiliser directement sous peine de mauvaises surprises 
plus tard...

Ceci étant dit, voici comment faire un POST en Ajax pour envoyer des 
données sur le serveur (ne jamais utiliser GET pour ça: si le navigateur 
a un cache un peu "aggressif" ou si tu passes par un serveur proxy, la 
requête peut ne jamais arriver au serveur).

function createXHR() {
    if (window.XMLHttpRequest)
        return new XMLHttpRequest;
    else if (window.ActiveXObject)
        return new ActiveXObject("Microsoft.XMLHTTP");
}

function envoyerPosition(pos) {
    var req = createXHR();
    if (req) {
        req.open(POST, "url-de-setPosition", true); // true = async
        req.setRequestHeader("Content-Type", 
"application/x-www-form-urlencoded");
        req.send("position=" + pos);
    }
}

Et voilà. Si tu veux aller plus loin et traiter le retour du serveur, 
regarde dans cforms.js ou les nombreux tutoriels qui traitent du sujet...

Sylvain

[1] http://www.dojotoolkit.org/

-- 
Sylvain Wallez                        Anyware Technologies
http://bluxte.net                     http://www.anyware-tech.com
Apache Software Foundation Member     Research & Technology Director


---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Mime
View raw message