2009-06-13 15 views
1

J'ai un appel AJAX, qui tire des données initiales. Sur la base de ces données, je veux lancer une série d'appels AJAX, mettant à jour différentes parties de la page. Cela peut être fait en utilisant JS, avec XMLHttpRequest et onreadystatechange, en vérifiant l'état. Si le premier appel est fait et la réponse est 200, je peux juste lancer une série d'appels AJAX.Comment chaîner les appels AJAX dans Rails? Une série d'appels à exécuter, en fonction du résultat du premier appel

Comment faire la même chose dans Rails? Ou devrais-je juste écrire JS simple (je suis nouveau à Rails)?

Répondre

0

Vous devez prendre en compte les deux côté serveur (rails ou autre) et côté client (javascript).

Pour côté client:
D'abord, je vous recommande d'utiliser un framework javascript tels que jQuery, Mootools, Prototype, Dojo, ou autre chose. Il va cacher la différence entre les navigateurs Web, de sorte que vous pouvez vous concentrer sur votre logique. (XMLHttpRequest a un processus d'initialisation différent sur les différents navigateurs Web)

Ensuite, vous pouvez utiliser un événement inachevé ou quelque chose de similaire pour chaîner les appels AJAX suivants. Chaque framework javascript fournit de bonnes fonctions de bibliothèque AJAX bien qu'ils aient des styles différents.

Pour côté serveur:
Si chaque appel ultérieur dépend de l'appel précédent, vous devez valider les entrées de chaque appel AJAX pour assurer la justesse de votre programme. (Cela signifie qu'il peut exister clients malveillants qui envoient des requêtes AJAX ultérieures même lorsque le premier appel a échoué.) La validation doit être effectuée côté serveur. Pour maintenir un contexte cohérent avec un utilisateur spécifique (ou webbrowser), vous devrez peut-être utiliser la session.