Précédent   Forum du club des développeurs et IT Pro > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 28/11/2012, 17h17   #1
benjyyyyy
Futur Membre du Club
 
Inscription : juin 2008
Messages : 29
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : juin 2008
Messages : 29
Points : 17
Points : 17
Par défaut XMLHttpRequest et chrome readyState coincé à 1

Bonjour à tous,

je viens de passer l'après midi sur un problème Ajax, je commence un peu à être à court d'idées.
Je veux faire une barre de progression, pour cela j'utilise mon appel Ajax pour récupérer mes données et les afficher dans le navigateur.
Mon code fonctionne très bien sur IE et Firefox, mais sous chrome pas moyen de passer une requête ajax correcte.

Voici le code :
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
27
 
var request = null;
var refresh_ms = 2000;
 
function updateTasksStatus()
{	
	try {
		if (window.XMLHttpRequest) {
			request = new XMLHttpRequest();
			request.onreadystatechange = CallBackRequest;
			request.open("GET", "monadresse", true);
			request.send(null);
		}
	}
	catch(e)
	{
		raiseError("updateTasksStatus()",e);
	}
}
 
function CallBackRequest() {
	if ( request.readyState == 4 ) {
		var TasksStatus=document.getElementById("TasksStatus");
		TasksStatus.innerHTML = request.responseText;
		setTimeout("updateTasksStatus();",refresh_ms);
	}
}
Dès la première requête dans chrome j'ai un premier CallBackRequest qui est déclenché avec un readyState à 1, ensuite j'ai un readyState à 4 mais qui revient avec un status à 0, je n'ai donc pas mon contenu dans ma requête de retour, bref du coup mon timeout se met en place, et la deuxième requête se lance et me renvoie une réponse avec un readyState à 1, puis plus rien.
Quand je regarde dans l'onglet network j'ai mon appel qui est annulé (apparemment j'ai vu sur le net que c'était juste une erreur d'affichage de chrome, mais j'ai positionné un changeListener sur abort de ma request, et j'ai effectivement quelque chose qui me l'annule lors du deuxième appel).
J'ai essayé un peu tout ce qui me tombait sous la main, je commence un peu à sécher la, si quelqu'un a une idée.

Merci
benjyyyyy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2012, 11h18   #2
benjyyyyy
Futur Membre du Club
 
Inscription : juin 2008
Messages : 29
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : juin 2008
Messages : 29
Points : 17
Points : 17
J'ai également essayé de faire un objet unique pour chaque appel (j'ai lu à droite à gauche que c'étais pas bon de passer par une variable globale), mais cela ne fonctionne pas non plus.
benjyyyyy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2012, 10h57   #3
benjyyyyy
Futur Membre du Club
 
Inscription : juin 2008
Messages : 29
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : juin 2008
Messages : 29
Points : 17
Points : 17
Il y avait une validation de formulaire via JS cachée dans un coin qui empêchait la requête AJAX de se faire correctement.
benjyyyyy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 15h06.


 
 
 
 
Partenaires

Hébergement Web