2010-08-13 5 views
2

Nous avons une application jQuery où certaines requêtes pour la même URL peuvent prendre beaucoup plus de temps que d'autres. L'utilisateur déclenche les messages ajax (en apportant une modification dans l'interface utilisateur), ceux-ci déclenchent une requête get en cas de succès qui met à jour l'interface utilisateur. Lorsque le plus tôt des demandes get prend beaucoup de temps, le plus tard (qui est beaucoup plus rapide) est retardé jusqu'à ce que le plus lent se termine en FF & chrome, mais pas IE.Requêtes jQuery ajax: Fonctions de succès appelées dans la séquence de requête

POST1 (associé à success1), retourne OK rapidement
POST2 (associé à success2)
success1 et 2 sont la même fonction

maintenant,
success1 -> GET qui prend beaucoup de temps (nous attendre à ce que)
success2 -> GET qui devrait revenir rapidement (avant réponse à success1)
(les deux GETS, ci-dessus, sont à la même URL)

ce que nous voyons:
dans IE: succès 2 termine rapidement, success1 complète plus tard
en chrome et FF: success2 est détenu jusqu'à success1 complète :-(

Nous nous attendons à success2 avant de terminer success1 .

Une idée pourquoi il y a le retard dans FF et chrome, et ce que nous pourrions faire pour diagnostiquer/réparer cela?

+0

si vous avez besoin de succès2 pour terminer avant le succès1, faire les demandes dans l'ordre, aka faire le POST2, puis quand c'est fait faire POST1 .... –

+0

Les POSTs sont en réponse à l'entrée de l'utilisateur et nous ne savons pas d'avance si le GET suivant sera long ou court. – Glenn

Répondre

0

Une chance de fournir le code précis, côté client, qui rencontre ce problème? Je préférerais analyser votre code pour déterminer le problème et corriger, plutôt que d'inventer certains de mes propres qui peuvent ou ne peuvent pas montrer le problème. Salutations

+0

merci pour l'offre Jim - c'est un peu complexe à recréer puisque vous avez besoin d'avoir un côté serveur qui émule aussi le fait qu'un appel ajax obtient une réponse rapide et l'autre un lent. à la fin, nous avons utilisé http://code.google.com/p/jquery-ajaxq/ pour implémenter une file d'attente de requêtes ajax sur lesquelles nous avions un contrôle plus fin ... – hwjp

Questions connexes