Ajax et Firefox - HTML/CSS - Programmation
Marsh Posté le 27-06-2007 à 11:21:19
Apparement le fait de poster ma inspiré ^^ :
Code :
|
Il était a false pour un effet sychronisé. ( fonction open de js)
Pas trop compris
Ya un moyen pour synchroniser le navigateur avec la reponse de l'objet, autre que de mettre false?
Ou pouquoi quand on met false ca couille?
Marsh Posté le 27-06-2007 à 11:30:37
Ca ne couille pas quand on met false, false génère un appel synchrone bloquant (qui freeze tout le navigateur, accessoirement) donc au lieu de mettre un callback on met le code de traitement derrière le xhr.send(null).
C'est marqué dans les docs d'ailleurs...
Marsh Posté le 27-06-2007 à 11:53:48
Cad?
C'est que ca bloquait pas la navigateur avec false et l'histoire de l'appel qui marchait pas, donc je me demandais
Tu proposerais de mettre le code de la fonction call dans la fonction de l'appel de l'objet c'est ça?
Le pb c'est que j'apelle très souvent call
Marsh Posté le 27-06-2007 à 11:54:13
vas lire les docs
Marsh Posté le 27-06-2007 à 12:27:01
en gros il te dit que .onreadystatechange ne sert à rien en synchrone.
Ta fonction Call() EST la fonction qui appelle l'objet, donc elle reste mais tu la modifie.
Marsh Posté le 27-06-2007 à 14:38:18
Je peux la modifier comment?
PS : la doc c'est sympa mais google trouve pas grand chose a part mettre false a la place de true, et je me vois mal dire a mon patron que je vais lire une doc de 40 pages pour trouver une erreur qu'en 5 min avec un peu de bonne vonlonté vous pourriez m'expliquer.
Marsh Posté le 27-06-2007 à 14:43:32
Marsh Posté le 27-06-2007 à 14:49:23
Ecoutes c'est super.... Tu lis les post de temps en temps? Enfin bon...
Donc sinon rien pour me dire pouquoi ca marche avec firebug?
Marsh Posté le 27-06-2007 à 14:53:23
Methods
open(mode, url, boolean) mode: type of request, GET or POST
url: the location of the file, with a path.
boolean: true (asynchronous) / false (synchronous).
optionally, a login and a password may be added to arguments.
send("string" ) null for a GET command.
Hmm Hmmmm
Mais encore?
PS : je tiens vraiment au synchone car une fois sur deux, le script met un peu plus de temps, et un getElementbyID derrière aime pas trop chercher un truc que le call a pas encore renvoyé.
Marsh Posté le 27-06-2007 à 14:53:27
Decapfour a écrit : Ecoutes c'est super.... Tu lis les post de temps en temps? |
Jamais, je suis un bot et je t'emmerde.
Marsh Posté le 27-06-2007 à 14:55:51
Constructif dis moi ^^
Jchais pas tu semble avoir la solution, alors bon, me dire d'aller voir une doc, c'est pas un peu... abusé?
Marsh Posté le 27-06-2007 à 15:08:28
Code :
|
Dans une fonction call_asynch() ça marche, mais c'est "bon"?
Marsh Posté le 27-06-2007 à 15:11:41
Decapfour a écrit : Jchais pas tu semble avoir la solution, alors bon, me dire d'aller voir une doc, c'est pas un peu... abusé? |
non
Decapfour a écrit :
|
oui, mais c'est un appel synchrone pas un appel asynchrone.
Marsh Posté le 27-06-2007 à 15:18:32
Oui, mais l'appel synchrone c'est le but justement
Sinon merci
Marsh Posté le 27-06-2007 à 15:36:28
Decapfour a écrit : Constructif dis moi ^^ |
Pas vraiment, là c'est un truc assez basique, ya 38 tutos sur le sujet, et savoir chercher dans la doc officielle (savoir où elle est, ou chercher, etc) est complètement indispensable pour être un minimum indépendant. La doc en sait plus que n'importe quel forumeur (a part pour les bugs p-e, encore que ca dépend:o)
Decapfour a écrit :
|
call_synch(), tu veux dire
Oui c'est bon.
Decapfour a écrit : PS : je tiens vraiment au synchone car une fois sur deux, le script met un peu plus de temps, et un getElementbyID derrière aime pas trop chercher un truc que le call a pas encore renvoyé. |
-Le synchrone attent la réponse du serveur et pendant ce temps, freeze le navigateur. Quand la réponse est arrivé, il reprend le script là ou il était. Ca t'as pigé.
-L'asynchrone éxécute une fonction donnée (définie par .onreadystatechange) à chaque étape de la requete (envoyé, en cours, renvoyé, recu si je ne m'abuse). Dans cette fonction tu teste cette étape et comme ça, tu peux éxecuter un code seulement un fois que la réponse est arrivé (.readystate=4). Donc si tu mets ton getElementById ici, ça devrait pas poser de pb, si ?
Marsh Posté le 27-06-2007 à 11:17:14
J'ai un objet AJAX
Si vous connaissez :
Et donc jusqu'a maintenant j'utilisais Firebug, un debugeur javascript pour firefox, et ie classique.
Les appels ajax fonctionnaient très bien jusqu'a maintenant, que ce soit sous ie et firefox.
Mais j'ai voulu recement desactivé firebug pour des tests, et la, les appels AJAX ne marchent plus sous firefox sans firebug !
Tout marche toujours bien sous ie, niquel
Firefox passe bien dans le javascript( testé avec des alerts ), il passe meme sur l'instruction de l'ajax, les alerts étant après, mais apparement ils ne doivent rien renvoyer.
Mais c'est halucinant parce qu'au debut, je n'utilisais pas firebug, et l'objet ajax, je ne l'ai pas du tout modifié !
Mystère
Des idées?