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] Script ne marchant pas sous IE (responseXML vide)


Sujet :

JavaScript

  1. #1
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 253
    Points
    28 253
    Par défaut [AJAX] Script ne marchant pas sous IE (responseXML vide)
    Pour le post de l'annuaire des SSII j'ai voulu passer par du XML avant de pouvoir plus aisément manipuler et réutiliser les données afin que ca donne ceci
    http://lgmorand.developpez.com/ssii/

    Le problème est que ca marche parfaitement sous FF mais sous IE, ca ne fait rien. Au début je pensais aux noeuds vides sous IE et donc faire un test avec nodetype !=1 mais le problème vient en amont
    responseTxt, comme responseXML reste vide avec IE alors qu'avec Firefox ca marche parfaitement.

    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
    function display(letter)
        {
          var req = null; 
     
    		if(window.XMLHttpRequest)
    			req = new XMLHttpRequest(); 
    		else if (window.ActiveXObject)
    			req  = new ActiveXObject(Microsoft.XMLHTTP); 
     
    		req.onreadystatechange = function()
    		{ 
     
    			if(req.readyState == 4)
    			{
     
    				if(req.status == 200)
    				{
                        var docXML= req.responseXML;
                        var items = docXML.getElementsByTagName("ssii");
                        var tbl = document.getElementById("records");
     
                        while (tbl.childNodes.length>2) 
                        {
                              tbl.removeChild(tbl.childNodes[2]);
                        };
                        //ICI items.length = 0 sous IE car responseXML=undefined
                        for (i=0;i<items.length;i++)
                        {
     
     
                            var name = items[i].childNodes[1].firstChild.data.substring(0,1).toLowerCase();
                            //blablablabla
    Bref, il me semble avoir toujours utilisé le même code et ca a toujours marché.

    j'ai même tenté en plus "propre" mon instancier mon object httprequest mais ca me donne le même resultat
    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
    var req = null; 
     
    		try
        {
        // Firefox, Opera 8.0+, Safari
        req=new XMLHttpRequest();
        }
      catch (e)
        {
        // Internet Explorer
        try
          {
          req=new ActiveXObject("Msxml2.XMLHTTP");
          }
        catch (e)
          {
          try
            {
            req=new ActiveXObject("Microsoft.XMLHTTP");
            }
          catch (e)
            {
            alert("Your browser does not support AJAX!");
            return false;
            }
          }
        }
    pour ceux qui veulent le code en entier, il est là http://lgmorand.developpez.com/ssii/ dans la source


    merci d'avance

  2. #2
    Membre averti Avatar de jmulans
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 397
    Points : 383
    Points
    383
    Par défaut
    j'ai l'impression qu'il manque l'encodage
    localite>France (Paris, Nantes, Toulouse, Strasbourg, Grenoble), B�n�luxe, Italie, Espagne</localite>
    j'ai ça moi
    et dans IE ça dit
    An invalid character was found in text content. Error processing resource 'http://lgmorand.developpez.com/ssii/ssii.xml'. ...

    <localite>France (Paris, Nantes, Toulouse, Strasbourg, Grenoble), B
    comme tu voit il s'arrete là ou il y a le �
    met un ISO-8859-1 en en-tete

  3. #3
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 253
    Points
    28 253
    Par défaut
    noob que je suis...
    bon ca marche un peu mieux. me reste à voir pour les nodes text et les nodes vides.

    merci

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

Discussions similaires

  1. page ne marchant pas sous IE mais seulement sous mozilla
    Par allezlolo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 31/10/2008, 20h53
  2. Script ne fonctionnant pas sous FireFox
    Par durnambule dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/08/2008, 12h31
  3. [AJAX] AJAX qui ne fonctionne pas sous IE
    Par tavarlindar dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 30/05/2008, 11h01
  4. [AJAX] Ajax et XmlHttpRequest (marche pas sous IE)
    Par krovomi dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/03/2007, 16h39
  5. Script ne fonctionne pas sous IE
    Par Stessy dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 29/09/2005, 13h44

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