Ajax : asynchrones ?

View: New views
13 Messages — Rating Filter:   Alert me  

Ajax : asynchrones ?

by guillaume belleguic-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

bonjour,

l'object Ajax.request permet de recevoir plusieurs réponse (Response being received (can occur many times, as packets come in)).

Certe mais comment faire pour que rails puisse envoyer plusieur réponse.

ex :
mon traitement 1
response "1er traitement ok"
mon traitement 2
response "2eme  traitement ok"

si vous avez une solution merci.

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---


Re: Ajax : asynchrones ?

by Michel Belleville :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Enchaîner plusieurs call ajax successifs, du genre :

[requete AJAX 1] => [action 1] => [vue RJS 1 avec call AJAX 2] => [action 2] => ...
ou
[requete AJAX 1] => [action 1] => [réponse OK] => [callback AJAX onSuccess avec call AJAX 2] => [action 2]

Il y a des variations sur ce thème, mais la constante c'est :
Le serveur ne prendra jamais l'initiative, il faut que ce soit le client qui fasse une requête pour otbenir une réponse.

2008/10/8 guillaume belleguic <guillaume.belleguic@...>
bonjour,

l'object Ajax.request permet de recevoir plusieurs réponse (Response being received (can occur many times, as packets come in)).

Certe mais comment faire pour que rails puisse envoyer plusieur réponse.

ex :
mon traitement 1
response "1er traitement ok"
mon traitement 2
response "2eme  traitement ok"

si vous avez une solution merci.





--
Michel Belleville

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---


Re: Ajax : asynchrones ?

by guillaume belleguic-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

J'ai crue comprendre qu'une requête ajax pouvait recevoir plusieur réponse à la suite, ce n'est pas le cas ?

Bien entendu je voudrais que la méthode de mon controlleur face "plusieurs" render (je sais je sais ce n'est pas possible, mais alors pourquoi Ajax.request peut reçevoir plusieurs réponse ?)

2008/10/8 Michel Belleville <michel.belleville@...>
Enchaîner plusieurs call ajax successifs, du genre :

[requete AJAX 1] => [action 1] => [vue RJS 1 avec call AJAX 2] => [action 2] => ...
ou
[requete AJAX 1] => [action 1] => [réponse OK] => [callback AJAX onSuccess avec call AJAX 2] => [action 2]

Il y a des variations sur ce thème, mais la constante c'est :
Le serveur ne prendra jamais l'initiative, il faut que ce soit le client qui fasse une requête pour otbenir une réponse.

2008/10/8 guillaume belleguic <guillaume.belleguic@...>

bonjour,

l'object Ajax.request permet de recevoir plusieurs réponse (Response being received (can occur many times, as packets come in)).

Certe mais comment faire pour que rails puisse envoyer plusieur réponse.

ex :
mon traitement 1
response "1er traitement ok"
mon traitement 2
response "2eme  traitement ok"

si vous avez une solution merci.





--
Michel Belleville




--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---


Re: Ajax : asynchrones ?

by ook? ook! :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



2008/10/8 guillaume belleguic <guillaume.belleguic@...>
J'ai crue comprendre qu'une requête ajax pouvait recevoir plusieur réponse à la suite, ce n'est pas le cas ?

Bien entendu je voudrais que la méthode de mon controlleur face "plusieurs" render (je sais je sais ce n'est pas possible, mais alors pourquoi Ajax.request peut reçevoir plusieurs réponse ?)

Ma réponse est à prendre avec recul: je ne suis pas un grand clerc en Ajax

Pour moi, cela signifie qu'un appel Ajax peut arriver en plusieurs chunk pour les réponses massives (ou les réseaux lents), mais l'ensemble de ces chunks (parties) ne constituent qu'un seul et même message.

HTH

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---


Re: Ajax : asynchrones ?

by guillaume belleguic-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

j'étais en train de regardé se dernier point et je me demandais si je n'avais pas été un peut rapide à répondre.

si vous avez d'autre élément.

En fait je souhaite afficher un message a chaque étape d'un processus complex.


2008/10/8 ook? ook! <ook1708@...>


2008/10/8 guillaume belleguic <guillaume.belleguic@...>
J'ai crue comprendre qu'une requête ajax pouvait recevoir plusieur réponse à la suite, ce n'est pas le cas ?

Bien entendu je voudrais que la méthode de mon controlleur face "plusieurs" render (je sais je sais ce n'est pas possible, mais alors pourquoi Ajax.request peut reçevoir plusieurs réponse ?)

Ma réponse est à prendre avec recul: je ne suis pas un grand clerc en Ajax

Pour moi, cela signifie qu'un appel Ajax peut arriver en plusieurs chunk pour les réponses massives (ou les réseaux lents), mais l'ensemble de ces chunks (parties) ne constituent qu'un seul et même message.

HTH




--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---


Re: Ajax : asynchrones ?

by Michel Belleville :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Effectivement, ta réponse peut arriver en plusieurs parties, surtout lorsque tu reçois une réponse très longue. Tu peux "attraper" au vol l'arrivée d'un paquet particulier en utilisant la méthode de rappel "onLoad" de tes calls AJAX.

Mais :

Tu ne peux pas être sûr de recevoir un morceau "complet" chaque fois que "onLoad" est activé, ni combien de morceaux tu vas recevoir d'un coup, ni quelle proportion de la réponse tu auras reçu, à moins de faire des bidouilles de haut niveau côté serveur.

Donc en général, ça ne sert pas à grand chose.

Si ton objectif est de chaîner plusieurs actions en un fil dont l'utilisateur peut suivre la progression, chaîner les requêtes AJAX unitaires me semble beaucoup plus approprié.

Le 8 octobre 2008 15:53, ook? ook! <ook1708@...> a écrit :


2008/10/8 guillaume belleguic <guillaume.belleguic@...>
J'ai crue comprendre qu'une requête ajax pouvait recevoir plusieur réponse à la suite, ce n'est pas le cas ?

Bien entendu je voudrais que la méthode de mon controlleur face "plusieurs" render (je sais je sais ce n'est pas possible, mais alors pourquoi Ajax.request peut reçevoir plusieurs réponse ?)

Ma réponse est à prendre avec recul: je ne suis pas un grand clerc en Ajax

Pour moi, cela signifie qu'un appel Ajax peut arriver en plusieurs chunk pour les réponses massives (ou les réseaux lents), mais l'ensemble de ces chunks (parties) ne constituent qu'un seul et même message.

HTH





--
Michel Belleville

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---


Re: Ajax : asynchrones ?

by guillaume belleguic-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

en fait j'ai une method create qui fait :
1 - j'upload le un fichier
2- j'annonce que le fichier est arrivé
3 - je vérifie que le fichier est conforme au spec
4- j'annonce que le fichier est conforme
5- je traite le fichier
6 - fin de traitment

je voulais resté sur une fonction mais donné des informations à l'utilisateur au fur et a mesure.


2008/10/8 Michel Belleville <michel.belleville@...>
Effectivement, ta réponse peut arriver en plusieurs parties, surtout lorsque tu reçois une réponse très longue. Tu peux "attraper" au vol l'arrivée d'un paquet particulier en utilisant la méthode de rappel "onLoad" de tes calls AJAX.

Mais :

Tu ne peux pas être sûr de recevoir un morceau "complet" chaque fois que "onLoad" est activé, ni combien de morceaux tu vas recevoir d'un coup, ni quelle proportion de la réponse tu auras reçu, à moins de faire des bidouilles de haut niveau côté serveur.

Donc en général, ça ne sert pas à grand chose.

Si ton objectif est de chaîner plusieurs actions en un fil dont l'utilisateur peut suivre la progression, chaîner les requêtes AJAX unitaires me semble beaucoup plus approprié.

Le 8 octobre 2008 15:53, ook? ook! <ook1708@...> a écrit :



2008/10/8 guillaume belleguic <guillaume.belleguic@...>
J'ai crue comprendre qu'une requête ajax pouvait recevoir plusieur réponse à la suite, ce n'est pas le cas ?

Bien entendu je voudrais que la méthode de mon controlleur face "plusieurs" render (je sais je sais ce n'est pas possible, mais alors pourquoi Ajax.request peut reçevoir plusieurs réponse ?)

Ma réponse est à prendre avec recul: je ne suis pas un grand clerc en Ajax

Pour moi, cela signifie qu'un appel Ajax peut arriver en plusieurs chunk pour les réponses massives (ou les réseaux lents), mais l'ensemble de ces chunks (parties) ne constituent qu'un seul et même message.

HTH





--
Michel Belleville




--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---


Re: Ajax : asynchrones ?

by Michel Belleville :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On parle bien d'une opération atomique dont tu veux juste donner l'avancement.

Dans ce cas il te reste la méthode des envois successifs, ça va te forcer à sortir sérieusement des rails parce que c'est complètement pas dans l'esprit du principe MVC de rails (normalement on ne fait la vue qu'après que le contrôleur a finit son boulot) et à gérer toi-même les envois successifs "par paquet" au client. Ce n'est pas impossible, il est même possible que quelqu'un ait déjà fait un plugin dans ce sens (et si tu met en place une solution de ce genre ce serait bien d'en faire un plugin histoire que ça ne soit pas perdu d'un projet à l'autre), mais ça va demander pas mal de boulot quand même.

Donc si tu ne veux pas te casser la tête, à ta place je ferais plutôt la technique de l'illusioniste qui consiste à désactiver l'envoi du formulaire du fichier et faire apparaître une magnifique animation d'attente, dans 90% des cas ça suffit à faire patienter les utilisateurs. Pour les 9% les plus nerveux, tu peux ruser en affichant un petit rapport {avec scriptaculous} qui fasse un truc du genre :
  1. Votre fichier est bien arrivé ! {avec un petit flash} Je valide votre fichier... {apparition d'une animation pour faire patienter, pause de 3-5 secondes}
  2. Votre fichier à été validé et est conforme aux specs ! {nouveau petit flash}  Je traite le fichier {re-animation, re-pause}
  3. Fin du traitement, merci pour votre patience, votre fichier à été traité avec tous les égards qui lui sont dûs {feu d'artifice en forme de coeur}
De toute façon, si ton action ne peux pas être interrompue du côté du serveur, qu'est-ce que ça change que l'utilisateur ait un rapport en temps réel de ce que fait le serveur ?

--
Michel Belleville

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---


Re: Ajax : asynchrones ?

by Jean-François Trân-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Le 8 octobre 2008 16:12, guillaume belleguic a écrit :

>
> en fait j'ai une method create qui fait :
> 1 - j'upload le un fichier
> 2- j'annonce que le fichier est arrivé
> 3 - je vérifie que le fichier est conforme au spec
> 4- j'annonce que le fichier est conforme
> 5- je traite le fichier
> 6 - fin de traitment
> je voulais resté sur une fonction mais donné des informations à
> l'utilisateur au fur et a mesure.

Action chunking ?

http://docs.google.com/View?docid=ddmqwkxs_3972nphr5fk

(sinon on peut faire du push avec des solutions comme Juggernaut [1]
mais c'est plutôt overkill)

    -- Jean-François.

[1] Voir :
http://en.oreilly.com/railseurope2008/public/schedule/detail/2573
http://assets.en.oreilly.com/1/event/13/Juggernaut%20_%20Realtime%20Rails%20Presentation.pdf

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---


Re: Ajax : asynchrones ?

by Michel Belleville :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Action chunking aussi ça me semble un peu overkill dans ce cas précis, étant donné qu'il ne s'agit pas vraiment d'actions enchaînées mais d'une seule action dont certaines étapes peuvent être un peu longues (enfin, surtout l'upload en fait...).

Le 8 octobre 2008 16:53, Jean-François Trân <jftran@...> a écrit :

Le 8 octobre 2008 16:12, guillaume belleguic a écrit :
>
> en fait j'ai une method create qui fait :
> 1 - j'upload le un fichier
> 2- j'annonce que le fichier est arrivé
> 3 - je vérifie que le fichier est conforme au spec
> 4- j'annonce que le fichier est conforme
> 5- je traite le fichier
> 6 - fin de traitment
> je voulais resté sur une fonction mais donné des informations à
> l'utilisateur au fur et a mesure.

Action chunking ?

http://docs.google.com/View?docid=ddmqwkxs_3972nphr5fk

(sinon on peut faire du push avec des solutions comme Juggernaut [1]
mais c'est plutôt overkill)

   -- Jean-François.

[1] Voir :
http://en.oreilly.com/railseurope2008/public/schedule/detail/2573
http://assets.en.oreilly.com/1/event/13/Juggernaut%20_%20Realtime%20Rails%20Presentation.pdf





--
Michel Belleville

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---


Re: Ajax : asynchrones ?

by Jean-François Trân-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Le 8 octobre 2008 16:33, Michel Belleville a écrit :

> ça va te forcer à sortir sérieusement des rails

Ce qui, sur cette mailing-list, relève du sacrilège !

   -- Jean-François.

--
Les 50 ans du Lisp : http://www.lisp50.org

http://twitter.com/underflow_

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---


Re: Ajax : asynchrones ?

by Jean-François Trân-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Le 8 octobre 2008 17:03, Michel Belleville
<michel.belleville@...> a écrit :
> Action chunking aussi ça me semble un peu overkill dans ce cas précis, étant
> donné qu'il ne s'agit pas vraiment d'actions enchaînées

ah bon ?

Guillaume : "En fait je souhaite afficher un message a chaque étape
d'un processus complex."

+ autre message avec la description : upload, vérification de conformité
puis traitement du fichier.

> mais d'une seule action dont certaines étapes peuvent être un peu
> longues (enfin, surtout l'upload en fait...).

On en sait rien, on ne sait pas si le traitement du fichier peut être
long.

De toute manière ,si c'est long les solutions de traitement asynchrone
(BackgrounDRb ou ses copains) ça me semble préférable, mais bon,
c'est l'OP qui fait ce qu'il veut.

    -- Jean-François.

--
Les 50 ans du Lisp : http://www.lisp50.org

http://twitter.com/underflow_

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---


Re: Ajax : asynchrones ?

by guillaume belleguic-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

wouaip, BackgrounDRb et un appel ajax periodique pour savoir si cela avance ? pourquoi pas

je regarde

merci pour vos réponses

2008/10/8 Jean-François Trân <jftran@...>

Le 8 octobre 2008 17:03, Michel Belleville
<michel.belleville@...> a écrit :
> Action chunking aussi ça me semble un peu overkill dans ce cas précis, étant
> donné qu'il ne s'agit pas vraiment d'actions enchaînées

ah bon ?

Guillaume : "En fait je souhaite afficher un message a chaque étape
d'un processus complex."

+ autre message avec la description : upload, vérification de conformité
puis traitement du fichier.

> mais d'une seule action dont certaines étapes peuvent être un peu
> longues (enfin, surtout l'upload en fait...).

On en sait rien, on ne sait pas si le traitement du fichier peut être
long.

De toute manière ,si c'est long les solutions de traitement asynchrone
(BackgrounDRb ou ses copains) ça me semble préférable, mais bon,
c'est l'OP qui fait ce qu'il veut.

   -- Jean-François.

--
Les 50 ans du Lisp : http://www.lisp50.org

http://twitter.com/underflow_




--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---

LightInTheBox - Buy quality products at wholesale price!