[RESOLU] [AJAX] réellement assynchrone ?

WRInaute impliqué
Salut
Je suis en train de développer un site genre netvibes.com, j'utilise beaucoup d'ajax, mon problème, c'est que l'assynchrone semble plutôt synchrone (avec firefox et IE)
Code:
xhr_object.open("GET", url, false);
Je m'en suis rendu compte car dès que je fais un "open" avec le code ci-dessus, il me bloque le navigateur jusqu'à ce que la réponse soit reçu. C'est assez rapide mais c'est pénible, ce n'est pas Assynchrone quoi !

Comment avez-vous géré ça pour ceux qui en ont fait?
Sachant que si je met "true", il ne me renvoie pas les infos....
 
WRInaute impliqué
Je ne recontre pas ce genre de pb.
Code:
xhr_object.open("GET", url, false);
C'est un peu court comme exemple. Quelle ressource utilises-tu ?
 
WRInaute impliqué
Voila une des méthode que j'ai créée:
Code:
var ASSYNCHRONE=true;
function voirTop10(pID){
	var xhr_object = null;
	if(window.XMLHttpRequest){
		xhr_object = new XMLHttpRequest();
	}else if(window.ActiveXObject){ 
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
	}else {
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		return;
	}
	xhr_object.open("GET", "top10.php", ASSYNCHRONE);
	xhr_object.send(null);
	if(xhr_object.readyState == 4){
		document.getElementById(pID).innerHTML=xhr_object.responseText;
	}
	setTimeout("voirTop10('"+pID+"')",30*uneMinute);
}
Après vérification plus poussée, il semblerait que je ne passe pas dans le readyState==4
???
 
WRInaute impliqué
C'est bon, j'ai trouvé mon erreur...
Voila le code corrigé
Code:
	xhr_object.readyState = function() {
		if(xhr_object.readyState == 4){
			document.getElementById(pID).innerHTML=xhr_object.responseText;
		}
	}
 
WRInaute impliqué
Juste un petit conseil en passant : même s'il est facile de "faire de l'Ajax" soi-même, l'utilisation d'une bonne librairie bien pensée peut simplifier le travail.
Je te conseille Prototype (+ scriptaculous, éventuellement) ou YUI.

Pour de simples échanges serveur, Prototype suffit, même si elle offre plus. Sa doc est ici : http://www.sergiopereira.com/articles/prototype.js.html pour la version anglaise, la combo en haut à droite permet d'accéder à une doc française d'une version un peu antérieure.
 
WRInaute accro
Je suis en train de tester avec Backbase qui se rapproche assez de netvibes.
par contre merci pour les liens qui donnent des chemins et idées consructives.
:lol:
 
Discussions similaires
Haut