Page 1 sur 1

Souris et clavier inactifs avec AJAX

Posté : 31 août 2011, 18:56
par Lucien
Bonjour,

je développe actuellement un site où je dois réaliser des requêtes en AJAX.
Mon problème est que lorsqu'une requête est exécutée et tant qu'elle n'est pas complète, la souris et le clavier n'ont plus aucun effet sur la page (écriture dans un formulaire par exemple). Cela est vraiment problématique lorsque que je fais une requête régulièrement pour afficher des informations en temps réel.

J'utilise la fonction javascript suivante avec un appel du type if(texte_de_sortie=file('url_du_fichier_php')){ utilisation du texte de sortie }

Code : Tout sélectionner

function file(fichier) { if(window.XMLHttpRequest) // FIREFOX xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject) // IE xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else return(false); xhr_object.open("GET", fichier, false); xhr_object.send(null); if(xhr_object.readyState == 4) return(xhr_object.responseText); else return(false); }
Le problème vient-il de la manière que j'ai d'utiliser l'objet XHR, ou existe-t-il une manière de contourner ce temps mort ?

Merci,

Lucien

Re: Souris et clavier inactifs avec AJAX

Posté : 01 sept. 2011, 05:27
par devlop78
xhr_object.open("GET", fichier, false);
Tu lui demandes une requête synchrone ...

Re: Souris et clavier inactifs avec AJAX

Posté : 01 sept. 2011, 18:31
par AB
... Et donc finalement tu ne fais pas vraiment de l'Ajax puisque cela signifie "Asynchronous Javascript And Xml".
Mets donc "true" comme paramètre dans ton objet xhr_object.open. Sinon effectivement le navigateur est bloqué en attendant la réponse.

Re: Souris et clavier inactifs avec AJAX

Posté : 01 sept. 2011, 18:41
par Lucien
Ah, oui, effectivement, je me suis renseigné sur la question et ça change la donne.

Merci beaucoup

Re: Souris et clavier inactifs avec AJAX

Posté : 01 sept. 2011, 18:51
par Lucien
Et cela veut-il dire que je suis obligé de recréer un objet XHR par fonction utilisant AJAX (car dans mon cas, plusieurs fonctions pourraient être exécutées à la suite) ?