IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] La page continue de charger


Sujet :

JavaScript

  1. #1
    Membre éprouvé
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Points : 1 166
    Points
    1 166
    Par défaut [AJAX] La page continue de charger
    Bonjour

    Suite à mon premier exemple d'Ajax, ça marche sauf que la page continue de charger. Le titre de la page dans Firefox reste "Loading..." et ne se termine jamais. Pourtant, dans la barre de status, il y a écrit "done" comme si la page était chargée et affichée.
    Le code est ultra simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    <html>
    	<head>
    		<title>Ajax</title>
    		<script language="javascript" type="text/javascript">
     
    			var xhr = null; 
     
    			function creerXhr() {
    				if(window.XMLHttpRequest) // Firefox et autres
    				   xhr = new XMLHttpRequest(); 
    				else if(window.ActiveXObject){ // Internet Explorer 
    				   try {
    			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
    			            } catch (e) {
    			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			            }
    				}
    				else { // XMLHttpRequest non supporté par le navigateur 
    				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    				   xhr = null; 
    				} 
    			}
     
    			function getChange() {
    				creerXhr();
    				var url = "test.php";
    				xhr.open("GET",url,true);
    				xhr.onreadystatechange = actualise;
    				xhr.send(null);			
    			}
     
    			function actualise() {
    				if(xhr.readyState == 4)
    					document.write(xhr.responseText);
    			}
     
    		</script>
    	</head>
     
     
    <body>
     
    <input value="act" type="button" onClick="getChange();" />
     
    </body>
    </html>
    Quand je clique sur le bouton, j'arrive bien sur une page blanche avec écrit dessus le contenu de la page test.php. Mais le chargement continue selon Firefox...

    Sinon, quand je remplace le bouton par un lien, ça ne marche plus, j'arrive sur une page toute blanche sans le contenu de test.php et le chargement continue comme pour l'autre... Mais ça c'est un problème annexe. Résoudre le premier, ce serait déjà bien

    Nas'

  2. #2
    Membre éprouvé
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Points : 1 166
    Points
    1 166
    Par défaut
    Après 17 lectures et 0 réponse, je commence à me demander si un jour je trouverais une solution
    J'ai demandé sur d'autres forums et personne ne sait... Est-ce que ça peut venir d'une configuration du navigateur ou autre chose dans ce style ? Parce que mon code est pourtant clair : une fois la requête terminée, on affiche le contenu et c'est fini... Ca affiche bien le contenu mais ça n'a pas l'air d'être fini.

    Je me suis demandé autre chose : peut-être que la page se recharge à l'infini une fois le contenu de test.php affiché et que ça va tellement vite que je ne vois pas ce rechargement et qu'au contraire, j'ai l'impression que la page continue de charger autre chose... Mais bon, pourquoi dans ce cas un rechargement à l'infini ? Encore une fois, mon code dit bien de juste afficher et rien d'autres...

    Etrangement, ce problème n'en est plus un si j'affiche la réponse dans un alert()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(xhr.responseText); // à la place de document.write(xhr.responseText);
    Avec ce code, quand je clique sur "OK" pour fermer l'alerte, ma page ne charge rien, tout est nickel... Ca m'inquiète un peu si je dois passer par des alertes quand je veux utiliser Ajax

    Nas'

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Ca serait pas juste un bug de ta version de FF : il ne remettrait pas à jour le message "loading..." au retour d'Ajax, comme il le fait à l'appel d'une page ?
    A mon avis, c'est juste de l'affichage ...

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  4. #4
    Membre éprouvé
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Points : 1 166
    Points
    1 166
    Par défaut
    Effectivement !! Je viens d'installer Opera et ça marche parfaitement, pas de chargement à l'infini.
    Moi qui pensais que Firefox était parfait Pourtant j'ai la toute dernière version 2.0.0.3 (sous Linux mais ça ne change rien je pense). Vive Opera !
    Merci et désolé pour le post un peu inutile. Ca me rassure d'un côté, j'ai failli abandonner Ajax là... Bon, bah maintenant, le développement web passera par Opera et non plus FF... Dommage, je l'aimais bien

    Nas'

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par Nasky
    Moi qui pensais que Firefox était parfait
    Firefox est de ce monde, la perfection, non
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Page très longue à charger
    Par night_flyers dans le forum Requêtes
    Réponses: 0
    Dernier message: 11/07/2009, 14h54
  2. [AJAX] Ajax et page precedente page suivante !
    Par MaxLaMenaX dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/02/2009, 13h46
  3. [AJAX] Ajax sur page web vers http://localhost ?
    Par FrontLine dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/08/2008, 07h17
  4. [AJAX] la page clignotte atrocement pour les raffraichissements
    Par keumlebarbare dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/10/2006, 17h14
  5. [AJAX] la page ne se recharge pas
    Par duplo dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 19/07/2006, 09h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo