Ajax au chargement de la page

cs_majong Messages postés 47 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 juin 2020 - 26 oct. 2009 à 15:47
cs_majong Messages postés 47 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 juin 2020 - 26 oct. 2009 à 17:54
Bonjour, j'ai plusieurs blocs qui se chargent en ajax suivant le filtre activé par les utilisateurs. Au chargement de la page, j'ai mis l'appel de chaque bloc dans la fonction window.onload avec les filtre par défaut, tout marche normalement.
Mais voilà dès que la page prend un peu de temps pour se charger les appelles ajax sont ignorées. J'utilise prototype.js, vous avez une solution ?

8 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
26 oct. 2009 à 16:16
Bonjour,

_ curieux d'appeler ajax au onload...
pourquoi ne pas faire ça avec
une "page php classique" ?
mais on n'a peut-être pas toutes les billes...

_ à priori, néanmoins : pas de raisons
[i]sauf si une requête ajax est lancée
avant que la réponse à la précédente
ne soit revenue/i par exemple
_ comme il y a du "prototye"
je ne pourrais guère en dire plus

Cordialement [mon Site] [M'écrire] Bul
0
cs_majong Messages postés 47 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 juin 2020
26 oct. 2009 à 16:45
oui en fait c'est ce qu'on me reproche, voilà le site est presque terminé je ne vais pas tout recommencer sauf si le problème persiste. En effet sur les pages j'affiche les blocs en fonction du filtre (age, connecté, ville, ...), j'ai décidé au départ de d'appeler une fonction ajax qui faisait le boulot au lieu de faire le code au chargement, puis suivant le critère de l'utilisateur à l'execution. C'est peut etre une erreur de ma part ?
0
cs_majong Messages postés 47 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 juin 2020
26 oct. 2009 à 16:49
Je rajoute,
j'appelle window.onload=function(){ charge_bloc_membre(mes paretres);charge_bloc_donnee(mes parametres);...}
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
26 oct. 2009 à 16:59
>>voilà le site est presque terminé je ne vais
>>pas tout recommencer
bah... ça dépend de comment c'est fait
peut-être "suffit-il" de regrouper les script
php appelés par ajax dans la même page htm
qui fait ces appels et de les sucrer ces appels
et x appels au serveur plutôt que 0
ça vaut peut-être le coup de regarder !?

néanmoins, et malgré tout, même si la conception
et la réalisation auraient été bien plus simples
en faisant comme ça, avec ajax ça devrait
baigner aussi
en 1er, vérifier si un appel ajax ne
se fait pas avant le retour de l'appel
précédent
cette erreur de "logique" est souvent
commise, et ça fait queuter
( appel de la fonction ajax avec setInterval
ou setTimeout par exemple )
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
26 oct. 2009 à 17:03
>>window.onload=function(){ charge_bloc_membre(mes >>paretres);charge_bloc_donnee(mes parametres);...}et bien alors ! c'est ça !
vous appelez la fonction sans attendre
le retour de l'appel précédent !

avec ajax classique je vous dirais
mettez l'open ajax en asynchrone et
n'appeler la suite que lorsque
onreadystatechabge est déclenché et
que readystate==4
avec votre bibliothèque de fonctions
on peut faire la même chose
0
cs_majong Messages postés 47 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 juin 2020
26 oct. 2009 à 17:37
Pouvez vous m'expliquer comment en utilisant prototype je pourrais réguler ces appels ? (ouf, s'il y a une solution je suis preneur !)
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
26 oct. 2009 à 17:49
connais pas prototype ( et je n'y tiens pas ! )
mais y lancer l'appel en asynchrone c'est possible
( problème de paramètres à passer à la
fonction prototype qui gère ajax )
et attendre le retour pour lancer les autres
aussi ( et ici ce n'est pas de l'ajax ou du
prototype )
il vous reste à lire la doc prototype,
et/ou attendre qu'un passant qui connaisse
passe ( justement ) par ici et vous lise.
0
cs_majong Messages postés 47 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 juin 2020
26 oct. 2009 à 17:54
ok merci pour la piste quand même !
0
Rejoignez-nous