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

AJAX Discussion :

[AJAX] AJAX et FF3 - le résultat du Get ne revient pas


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 21
    Par défaut [AJAX] AJAX et FF3 - le résultat du Get ne revient pas
    RE bonjour à tous,

    Étant donné que vous m'avez sortie de mon dernier problème je reviens pour un nouveau

    Mon code fonctionne parfaitement sur IE et il semble sur FF3 il y ai un phénomène étrange...

    Le GET de ma requête part bien, selon firebugs, mais ne revient pas.
    J'ai cherché un peu sur le net et il semble que le phénomène existe avec des requêtes en synchrone ce qui n'est pas mon cas.
    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
    48
    49
    50
    // JavaScript Document
    function getXhr(){
      var xhr = null; 
      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 = false; 
    	} 
      return xhr
    }
     
    /**
    * Méthode qui sera appelée sur le click du bouton
    */
    function GoRechercheAnnuaire(annu_text , annu_critere , nb_start){
      var col_g_txt  = 	'<div id="col_gauche"><div><img alt="" class="float_left" src="images/interface/tetieres_coin_gauche1.gif" /><h2 class="tetiere4">Annuaire</h2></div><div id="autres_annu"><h4 class="droite couleur03">communaut&eacute;</h4>Vous pouvez &eacute;galement, sous Lotus, consulter les annuaires suivants :<br /><a href="#" class="js_lien_externe">Annuaire Aramice</a><br /><a href="#" class="js_lien_externe">Annuaire Audiens</a><br /><a href="#" class="js_lien_externe">Annuaire Novalis-Taitbout</a></div><div id="col_gauche_site"></div></div>';
      var CompteArebours = new Date();
     
      var request = 'http://vpa1ddoe1/test/W3/offi.nsf/GoRechercheAnnuaire?OpenAgent&annuaire_text='+annu_text
    	+'&annuaire_critere='+annu_critere+'&start='+nb_start+'&time=' + CompteArebours.getSeconds();
     
    	document.getElementById("acc_content").innerHTML = col_g_txt + '<div id="col_centrale"></div>';
     
    	var xhr = getXhr();
    	xhr.open("GET",request,true);
     
      // On défini ce qu'on va faire quand on aura la réponse
      xhr.onreadystatechange = function(){
        // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
        if(xhr.readyState == 4){
          if (xhr.status == 200){
            document.getElementById("col_centrale").innerHTML = xhr.responseText;
          }else{
            document.getElementById("col_centrale").innerHTML = "<h1>Erreur de chargement</h1>";
          }
        }else{
          document.getElementById("col_centrale").innerHTML = '<h1>Recherche en cours</h1><img src="images/interface/ajax-loader.gif">';
        }
      }
     
    	xhr.send(null);
    }
    Il semble que le xhr.send(null); ne soit pas toujours interprété correctement sur FF3, quelqu'un a-t-il déjà constaté le problème et surtout trouvé une solution...

  2. #2
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Le GET de ma requête part bien, selon firebugs, mais ne revient pas.
    C'est a dire?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 21
    Par défaut
    Et bien firebugs donne bien le head et les paramètres, l'interface de console voie bien l'appel GET à l'adresse souhaité mais l'onglet réponse reste désespérément vide...

    Je ne sais pas si c'est bien claire.

    J'ai aussi essayé d'ouvrir sous FF3 l'adresse de la requête (GET) et la page s'ouvre correctement, pas de souci juste l'évènement AJAX ne voie pas le retour asynchrone de l'appel...

  4. #4
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    S'il te met une réponse vide, c'est qu'il obtient bien une réponse, mais qu'elle ne contient rien

    Première chose: est-ce que ton readyState passe bien a 4? Et as tu bien un statut a 200 ?

    Si oui, essaie de mettre une réponse toute bete en retour de ta requete pour vérifier que ce n'est pas ton code qui la ferait planter.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 21
    Par défaut
    Je veux bien mais, mais dans ce cas pourquoi sous IE il capte bien le readyState à 4??

    Je test le changement et te tien au courant des tests.

    ---------
    Alors oui on passe bien en readyState à 4 mais xhr.status = 0 semble-t-il!!
    Il ne passe pas dans le traitement de page chargé Ok xhr.status = 200 comme c'est normalement le cas!!!

  6. #6
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Tu fais bien ta requete vers une page hébergée sur un serveur web?

    Parce que un status a 0 correspond généralement à un appel vers une url non hébergée sur un serveur.

Discussions similaires

  1. [AJAX] Tronquage d'une URL passée en GET
    Par coeurdange dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/09/2008, 10h52
  2. [AJAX] liste déroulante dynamique 2 résultats
    Par btobnet dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/04/2008, 15h59
  3. [AJAX] Ajax xmlhttpRequest : affichage d'un résultat dans une div
    Par kataboy dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/12/2007, 15h47
  4. [AJAX] Gérer plusieurs pages de résultats d'une requête
    Par dubitoph dans le forum Général JavaScript
    Réponses: 34
    Dernier message: 25/07/2007, 15h08
  5. [AJAX] probleme de récupération de donnée par GET
    Par Death83 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/06/2006, 17h00

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