Faire un "loading" d'attente avec XMLHttpRequest ?

Faire un "loading" d'attente avec XMLHttpRequest ? - HTML/CSS - Programmation

Marsh Posté le 10-03-2005 à 11:01:45    

Bonjour,
 
je suis en train de commencer à tester l'objet XMLHttpRequest. Ca marche nickel pour modifier un objet de base de données sans recharger la page en cours. Mais j'ai un petit soucis :
 
dans certains cas, l'acces à la base est un peu long, et bloque complement la page. On peut demander un acces en asynchrone avec la methode .open(xx,xx,true), mais je prefererais garder cette option synchrone. Gmail a un petit calque rouge "loading..." qui s'affiche en haut des pages dans ce cas la. Quelqu'un sait comment faire ca ? Je n'arrive pas a voir comment faire, j'ai bien tente d'utiliser la variable "readyState" mais c'est un peu loupé [:canaille] ...  
 
merci s'il y a des pistes ou des scripts :)

Reply

Marsh Posté le 10-03-2005 à 11:01:45   

Reply

Marsh Posté le 10-03-2005 à 15:21:34    

Je te recommande vivement la methode asynchrone.
 
Le loading qu'affiche google c'est simplement un "div" qui devient visible.
D'ailleurs si je me trompe pas, google utilise la methode asynchrone.
 
Concernant le "readyState", en fait tu dois en controller la valeur dans ton "callback".
Dans ta fonction callbak tu fais un truc du style  

Code :
  1. if (monobj.readyState==4) {
  2.   // l'objet a recu une reponse, faut donc traiter les donees
  3. } else {
  4.   // l'objet n'as toujours pas recu de reponse, alors on ne  
  5.   // fait rien
  6. }


 
Poste voir ton code JS sinon.

Reply

Marsh Posté le 10-03-2005 à 19:00:13    

je ne dois pas avoir bien capté a quoi sert la methode synchrone, alors... je pensais que pendant l'attente du resultat de la requete distante, cela permettait justement de gerer la valeur du readyState...
 
je teste ta methode en laissant en asynchrone (de toute facon des que je met "false" ma fonction ne marche plus = :??: )
 
Merci de tes lumieres :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed