fonction synchrone (onreadystatechange) marche pas sur mozilla? [Ajax] - HTML/CSS - Programmation
Marsh Posté le 21-03-2007 à 11:44:26
Si vous avez des liens vers des forums avec des développeurs roder en ajax / ou de la documentation que vous me conseillerez sur ajax je suis preneur !
Marsh Posté le 21-03-2007 à 12:08:32
tiens le tutorial sur MDC est très bien ( et outre marche aussi bien sous IE que FF):
http://developer.mozilla.org/en/do [...] ng_Started
Une fois que tu auras fini celui-la et que tout marchera convenablement, jettes un oeil au reste du site et en particulier http://developer.mozilla.org/en/docs/AJAX
PAr ailleurs je ne serais que trop te recommander d'installer firebug, y'a rien de mieux pour debugger des trucs en ajax sous FF.
Marsh Posté le 21-03-2007 à 13:11:42
Merci pour l'info
je vais de ce pas me gaver de tutos et jeter un oeil sur firebug (j'ai installé récemment DebugBar sous ie qui me semble être le meme genre que firebug pour mozilla)
Marsh Posté le 21-03-2007 à 11:27:54
Bonjour voici le code qui ne passe pas sous mozilla
XhrObj.onreadystatechange = function()
{
alert('Readystate est: '+ XhrObj.readyState);
if (XhrObj.readyState == 4 && XhrObj.status == 200)
{
resp=XhrObj.responseText;
}
};
Sous internet explorer, j'ai avec ma fonction alert, les 4 alertes suivants:
"Readystate est: 1"
"Readystate est: 2"
"Readystate est: 3"
"Readystate est: 4"
et a 4 la réponse est traitée.
Lorsque je test sous mozilla, je n'ai aucun alert... si je comprend bien mon code n'entre meme pas la function() définit dans onreadystatechange...
Il y a t'il une autre syntaxe pour définir ma fonction() de onreadystatechange sous mozilla ??
Car la je sèche je me suis perdu dans toutes les documentations
Ps: le point virgule a la fin de mon accolade est pas obligatoire mais peu importe avec ou sans ca marche que sous ie et toujours pas sous mozilla, et dans les documentations que j'ai pu trouvé il y avait souvent ce point virgule.
Merci pour votre aide.
au cas ou je vous met le code plus complet juste en dessous:
var resp,XhrObj;
if(document.all)
{
XhrObj = new ActiveXObject("Microsoft.XMLHTTP" ) ; //Internet Explorer
}
else
{
XhrObj = new XMLHttpRequest();
}
XhrObj.open("POST", page, false);
XhrObj.onreadystatechange = function()
{
alert('Readystate est: '+ XhrObj.readyState);
if (XhrObj.readyState == 4 && XhrObj.status == 200)
{
resp=XhrObj.responseText;
}
};
XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XhrObj.send(args); // args sont les arguments envoyés en parametre
return resp;