Bonjour,

Envoyé par
sebatlante
la fonction alert() m'affiche 0 alors qu'elle devrait affiché 200.
ben non : si elle t'affiche 0 c'est que, à ce moment là, le xhr.status vaut 0 
Comme le readyState, le statut évolue en fonction du déroulement de la requête.
Le onreadystatechange se déclenche, comme son nom l'indique, à chaque fois que le readyState change de valeur. Mais ce n'est pas parce qu'il vient de passer à 4 que le status passera forcément à 200 simultanément.
Aussi, dans les différents scripts du forum, tu trouveras le test complet, permettant de savoir que la requête est complétement terminée
if ( xhr.readyState == 4 && xhr.status == 200)
De plus l'utilisation du status dans d'autres cas (par exemple pour afficher un message sur l'état d'avancement jusqu'à la fin de la requête) pose problème dans certains (tous ?) navigateurs. Aussi ne le fait-on pas 
A+
Partager