Accueil > Forum > > > > Patienter pendant une requete Ajax
Patienter pendant une requete Ajax
lundi 27 novembre 2006 à 11:59:44 |
Patienter pendant une requete Ajax

deterred
|
Bonjour, J'ai une grosse requete Ajax a executer, et le chargement est long. Je voudrais mettre à la place de mon compteur de résultat un message du genre "chargement en cours" Voici comment je m'y prend, et ça ne fonctionne pas : function rafraichirResultats() { document.getElementById("nbFormations").innerHTML = "Chargement en cours ... "; var nbRes = getResponseURL("GET", "requetesAjax.asp","action=getNbForm");
sessionRecherchePerdue(nbRes);
document.getElementById("nbFormations").innerHTML = nbRes; } Avez vous une idée ??? J'ai essayé de mettre un "document.recalc();" a la deuxieme ligne (avant de lancer l'ajax), mais ça ne donne rien sous IE, et plante sous FF ... Si quelqu'un peut m'aider, ça sera super sympa ! 
|
|
lundi 27 novembre 2006 à 14:46:10 |
Re : Patienter pendant une requete Ajax

roro06
|
Bonjour
'Faudrait en montrer un peu plus, car il est impossible de savoir ce que font getResponseURL, ni sessionRecherchePerdue(); Cordialement Roro webDev
|
|
lundi 27 novembre 2006 à 14:55:03 |
Re : Patienter pendant une requete Ajax

deterred
|
en fait là n'est pas la question, sessionRecherchePerdue(); ne fait que verifier si la session est perdue ou non (et abandonne l'ajax si c'est le cas), getResponseURL lance une requete ajax et recupere le resultat. Tout ça fonctionne tres bien, mon seul souci serait de faire patienter le visiteur pendant l'execution de la fonction ...
|
|
lundi 27 novembre 2006 à 15:08:25 |
Re : Patienter pendant une requete Ajax

roro06
|
Bonjour
C'est bien pour ça que je te pose la question, parceque moi je le fais et ça fonctionne
Cordialement Roro webDev
|
|
lundi 27 novembre 2006 à 16:28:25 |
Re : Patienter pendant une requete Ajax

deterred
|
aie ! ok ... c'est une piste ...
quand je retire mon sessionRecherchePerdue(); c'est idem ...
voici mon getResponseURL(); :
function getResponseURL(method, strUrl, strData) { var xhr_object; var retour = "";
if(window.XMLHttpRequest) // Firefox xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject) // Internet Explorer xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else { // XMLHttpRequest non supporté par le navigateur alert("Erreur : Votre navigateur ne supporte pas les objets XMLHTTPRequest"); return; } if (method != "POST") { strUrl = strUrl + "?" + strData; }
xhr_object.open(method, strUrl, false); xhr_object.send(strData); retour = xhr_object.responseText; return retour; }
--------
le souci en fait est que le navigateur se fout completement de la premiere ligne : " document.getElementById("nbFormations").innerHTML = "Chargement en cours ... ";" et execute directement ma requete ajax. Le navigateur devient donc figé pendant 3 secondes, le temps de chargement de mon compteur. Attention pour bien se rendre compte de mon souci, il faut une requete ajax LOURDE . Pour moi c'est une requete Oracle avec 18 tables jointes et des conditions assez complexes, en particulier incluant une recherche avec synthétiseur sur un champs "mot clés".... Si la requete ajax est rapide, effectivement, on a l'impression que ça fonctionne...
|
|
lundi 27 novembre 2006 à 16:51:31 |
Re : Patienter pendant une requete Ajax

roro06
|
Bonjour
xhr_object.open(method, strUrl, false);
xhr_object.send(strData); retour = xhr_object.responseText; Je suis un peu surpris que ça fonctionne comme ça ! surtout avec autre chose que ie (3 °paramètre de open à false ?).Passons . Ensuite tu envoie ta requête puis tu affecte ton résultat à retour sans sovoir si la réponse est parvenue (bon d'accord, tu fait du synchrone, mais il n'y a que IE qui accepte çà). Donc "rien sous IE" --> je veux bien, mais que "ça plante FF", çà, ça ne m'etonne pas.
faire plutôt plus "classique" :
... xhr.onreadystatechange=function() { if (xhr.readyState == 4) // 4=httpComplete { if (xhr.status == 200) // 200 : code Http : OK { // Traitement de la réponse retour=xho.responseText; } } } ... xhr_object.open(method, strUrl, true); xhr_object.send(strData); Cordialement Roro webDev
|
|
lundi 27 novembre 2006 à 16:56:10 |
Re : Patienter pendant une requete Ajax

deterred
|
ok j'ai du mal m'expliquer
MON AJAX FONCTIONNE TRES BIEN, je vous remercie ... le probleme n'est pas là, si vous ne savez pas me dépanner, inutile de répondre des absurdités, ou des hors sujet.
le pb est la fonction javascript : document.recalc(); qui ne donne rien sous IE et plante sous FF (c'est normal je l'ai lu)
Ma question est donc comment palier à ce pb, afin d'afficher un message pendant le chargement de mon ajax ! (cf mon premier post)
|
|
lundi 27 novembre 2006 à 17:01:49 |
Re : Patienter pendant une requete Ajax

roro06
|
Bonjour
Allez rendre service, je vous jure ...
Pour l'info, moi, je sais faire afficher "Chargement en cours...", et j'ai appris à le faire sans insulter les autres ! et ça marche sur tous les navigateurs. Bon debuggage quand-même.
pas cordialement Roro webDev
|
|
lundi 27 novembre 2006 à 17:08:08 |
Re : Patienter pendant une requete Ajax

deterred
|
je n'ai insulté personne o_O, j'ai même remercié. juste que le pb est toujours le meme sur ces forums, les intervenants ne solutionnent rien, et remettent en cause du code qui fonctionne. j'ai posé une question on me répond 3 fois a coté, ça a tendance à m'énerver ... that's all, sans rancune, comme d'hab je vais me débrouiller, j'esperais juste gagner un peu de temps 
|
|
lundi 27 novembre 2006 à 17:15:28 |
Re : Patienter pendant une requete Ajax

deterred
|
au fait, je suis pas aussi mal élevé que tu le dis, avant de répondre, j'ai pris le temps d'examiner ton code et de remplacer ma fonction getResponseURL par ta version "plus standard". ça fonctionne tout aussi bien, mon compteur est bien actualisé seulement au lieu de faire les etapes comme je le voudrais : - changement du label en "chargement en cours" - chargement de la requete ajax (environ 4 sec) - affichage du compteur dans le label j'obtiens l'enchainement suivant :
- chargement de la requete ajax (environ 4 sec) - changement du label en "chargement en cours" - affichage du compteur dans le label it sucks 
|
|
Cette discussion est classée dans : chargement, requete, document, ajax, nbres
Répondre à ce message
Sujets en rapport avec ce message
Pop up de chargement [ par nico1214 ]
Dans l'Intranet que je développe, il y a de nombreux liens qui ouvrent des documents, en particulier PDF et Word.L'ouverture des documents se fait tou
requete sql [ par 27 ]
salut,est-il possible d'exécuter une requete mySql dans un script avec un petit exemple svp.Comme ceci par exemple : function majChamp(){
Insertion d'une valeur dans requete mysql/php [ par houloul1 ]
Bonjour et merci de lire ce messagej'ai un petit problème avec la récupération d'un champ avec javascript.Mon problème se situe au niveau la ligne $sq
premier script avec javascript... [ par ehmarc ]
salutvoila alors mon script récupère la valeur dans une liste déroulante et doit envoyer cette valeur dans la partie en php pour effectuer la requete
Chargement d'un constructeur à partir d'une variable [ par kbalevil ]
Voici mon soucis :Je charge un élément via ajax, jusque là tout va bien, et ensuite je dois initialiser ce composant (placement, valeures de départ),
secours svp problem javascript -> ajax [ par barcawi ]
bonjour,j'execute une requette Ajax à l'aide d'u
chargement d'image [ par Paladin2107 ]
Bonjour à tousJ'ai un petit soucis pour afficher une image dynamiquement. Lorsque un utilisateur choisi son image à l'aide d'un bouton parcourrir je s
Recuperer des valeurs d'un formulaire pour creer une requete mysql [ par Ze_lola ]
Bonjour a tous! Alors voila j'ai un petit problème concernant ajax:il faut que je recupere des valeurs d'un formulaire et que je les réincjecte dans u
Chargement de pages - Ajax - Probleme avec ie [ par taxidogkiller ]
Bonjour, je suis débutantJ'ai créer un script de chargement de page à partir de script existant, mais celui ci ne fonctionne pas.je me suis servi des
Interpréter code javascript après chargement AJAX [ par VoLc0m ]
Bonjour,J'utilise l'objet XmlHTTPRequest (AJAX) pour charger une page web dans le contenu d'un div. La page chargée dans le div contient du code javas
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|