11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,
Je rencontre un comportement tres pénible sur une appli php/ajax sur un serveur dédié OVH avec IE 6 et 7.

De temps à autre ( je dirais une fois sur 50 / 100 ) , l'objet http_request reste "figé" sur un readyState = 1.

Du coup cela fait "mouliner" mon application sans fin puisque cela ne va jamais dans le cas readyState = 4

Avec les autres navigateurs aucun soucis.

Si j'attends tres longtemps ( + d'un quart d'heure ) , l'objet http_request finit par passer à la valeur readyState = 4 et le code html renvoyé par la requête ajax est un "apache internal error" sans plus de prévisions.

J'ai "contourné" le problème en faisant un test d'antiblocage de la requête ajax ( si toujours à l'état 1 au bout de 10sec j'annule la requête et je la relance ) mais j'aimerais tout de même comprendre ce qui se passe !!

Quelqu'un aurait-il rencontré un problème similaire, ou aurait un début d'explication sur la cause de cette disfonction propre à IE ?

Merci d'avance
Manu
Bonjour Krafton,
Ma requete ajax est bien envoyée en POST, à l'aide de
http_request.open('POST',url, true);
J'ai trouve ca

a écrit :

J'ai eu le meme probleme que toi:
il semble que avec internet explorer un objet = un appel, donc je le reinitialise a la fin de l'appel.


if (req.readyState == 4 && req.status == 200) {
var resultat = req.responseText;
document.getElementById('div_track').innerHTML=resultat;
//si j'utilise ie je reinitialise l'objet
if (window.ActiveXObject) {
req = new ActiveXObject('Microsoft.XMLHTTP');
}
}
Merci ; Je ne sais pas si c'est exactement le même problème... tu as le lien complet du topic cité ?
Salut,

a écrit :
J'ai "contourné" le problème en faisant un test d'antiblocage de la requête ajax ( si toujours à l'état 1 au bout de 10sec j'annule la requête et je la relance ) mais j'aimerais tout de même comprendre ce qui se passe !!


Je pense que ce n'est pas un contournement mais au contraire c'est une bonne chose, ou même mieux si ta page est également fonctionnelle sans ajax cela pourrais, en cas de non réponse, lancer le formulaire sans ajax