[AJAX] onreadystatechange outrepassé ?
Bonjour,
Je développe une application (sur l'internet du web) et j'ai un petit soucis avec mes scripts Ajax.
Mon application utilise pour la validation de tous ses formulaires un petit processeur de requête Ajax. Le formulaire balance une requête Ajax sur mes processeurs. Mes processeurs (scripts PHP) qui s'occupent de la réception et l'exécution de ces requêtes renvoient un peu de XML pour dire à mon script Ajax si tout s'est bien passé ou pour afficher une erreur.
Mon script Ajax parse ensuite ce petit bout de XML et selon son contenu redirige vers une autre page ou affiche un message.
Pour l'exemple, disons que le formulaire de login sur login.php appelle en Ajax process.php qui renvoit ce XML. Le javascript sur login.php va ensuite lire le XML dans le onreadystatechange et faire ce qu'il doit faire.
Le problème est que dans certain cas au lieu de lire mon XML, l'explorateur quitte la page courante (login.php) et affiche la page de process (process.php). Du coup, mon utilisateur voit le XML que j'ai renvoyé et ne comprend pas ce qui lui arrive.
J'ai un peu de peine à comprendre comment est-ce que mon explorateur peut passer outre le onreadystatechange. Peut être un problème d'asychronous ou synchronous ? Dans quel cas Ajax peut ouvrir la page qu'il l'appelle dans le _self au lieu de faire son processus en arrière-plan ?
Je ne sais pas si tout est très clair mais je répondrais volontier à vos interrogations ! :)
Merci d'avance pour vos réponses