cocoon-users-fr mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Salvetti <salvetti.m...@gmail.com>
Subject Re: Envoyer une requete ajax ?
Date Fri, 25 Nov 2005 11:11:56 GMT
Sylvain,

j'ai essayé le code que tu m'a donné, et la requete est bien transmise, je
la vois dans le sitemap.log,
par contre, impossible de faire marcher le pipeline correspondant, je recois
systematiquement une erreur 404 :

POST /ajax/save-menu-cart-pos HTTP/1.1
Host: marco:8888
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-FR; rv:1.7.12)
Gecko/20050919 Firefox/1.0.7
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9
,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en,fr;q=0.7,en-us;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: UTF-8,*
keep-alive: 300
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 24
Cookie: JSESSIONID=qw3kbesi52hq
Pragma: no-cache
Cache-Control: no-cache

, response=org.apache.cocoon.environment.wrapper.ResponseWrapper@cf590,
httpresponse=HTTP/1.1 404 Not Found

}, source=null, par=Parameters[r/w]:{handler=cfmhandler}

J'ai essayé de simplifier le pipe au maximum pour m'assurer que ce n'est pas
la qu'est le problème, mais ca ne change rien.

Tu vois d'ou ça pourrait venir ?

Marc

Le 25/11/05, Sylvain Wallez <sylvain@apache.org> a écrit :
>
> 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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message