[AJAX] Attraper une redirection 302 en Ajax
Bonjour,
J'ai une redirection intempestive dans mon application (due à une expiration de session sur un proxy) qui s'affiche mal.
J'aimerai attraper le code 302 de la requete Ajax pour afficher un message js et bloquer la redirection.
Est-ce possible?
Il semble que sous IE6 (seul navigateur où la redirection s'affiche mal...) le code 302 apparait entre le readyState 1 et 2 de la requête, mais effectue de suite la redirection. Arrivé au readyState 4, ma requête a un statut 200 normal.
Est-ce le comportement standard sur tous les navigateurs? Comment faire pour choper ce fameux 302 ?
Merci d'avance pour vos réponses.
Si quelqu'un a une idée, cela m'aidera beaucoup^^
Environnement: IE6, IE7, FF2
Code de mon onReadyStateChange pour la requete :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
request.onreadystatechange = function() {
if (request.readyState == 4) {
if (timer) {clearTimeout(timer);}
var stateOfRequest;
try{stateOfRequest = request.status}
catch(e){if (navigateurMOZ && timerIsOver) stateOfRequest=0;} //Traitement spécifique à Firefox pour le TimeOut.
if (stateOfRequest == 200) {
callback(XHRgetResponse(request));
XHR_RESEND_TIMES = 0;
}
else {
if (options.errorHandler){
if (stateOfRequest==0 && navigateurMOZ) { //Traitement spécifique à Firefox pour le TimeOut.
timerIsOver = false;
resendManager.resend = options.errorHandler(stateOfRequest, "", "");
}
else resendManager.resend = options.errorHandler(request.status, request.statusText, request.responseText);
XHR_RESEND_TIMES++;
resendManager.sender();
}
}
}
}; |