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 ne passe pas sur IE


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    136
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 136
    Par défaut [AJAX] AJAX ne passe pas sur IE
    Bonjour

    le code que je vous présente est tiré de deux tutorial ajax sur dev.com
    index.php
    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
    <?xml version="1.0" encoding="UTF-8"?> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    	<head>
    		<title>Galerie Photos</title>
    		<script type="text/javascript" src="js/xhr.js"></script>
    		<script type="text/javascript" src="js/loadXML.js"></script>
    		<script type="text/javascript">
    			loadXML() ;
    		</script>
    		</script>		
    	</head>
    	<body>
    		<div id="content"><div>
    	</body>
    </html>
    xhr.js :
    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
    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 ;
    }
    loadXML.js :
    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
    function loadXML() {
    	xhr = getXHR() ;	
    	var url = "js/dvd.xml";		
    	xhr.onreadystatechange = handleHttpResponse;
    	xhr.open("POST", url, true);
    	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    	xhr.send();
    }
     
    function handleHttpResponse() {
    	if(xhr.readyState == 4 && xhr.status == 200) {
            response     = xhr.responseXML;
    		var items    = response.getElementsByTagName("item");
    		var html     = ''; 
    		count        = items.length;
    		for(i = 0; i < count; i++) { 
    			alert(i);
    			html += '<div class="item">';
    			html += '<h1>' + items[i].getElementsByTagName("title")[0].firstChild.nodeValue + '</h1>';
    			html += '<div class="author">R&eacute;alisateur : ';
    			html += items[i].getElementsByTagName("director")[0].firstChild.nodeValue + '</div>';
    			html += '<div class="price">Prix : ';
    			html += items[i].getElementsByTagName("price")[0].firstChild.nodeValue + ' €</div>';
    			html += '</div>';
    		}
    		document.getElementById('content').innerHTML += html;		
        }
    }
    dvd.xml :
    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
    <?xml version="1.0" encoding="utf-8"?>
    <dvd>    
        <item>
            <title>Princesse Mononoké</title>
            <director>Hayao Miyazaki</director>
            <price>14,99</price>
        </item>
        <item>
            <title>Mon voisin Totoro</title>
            <director>Hayao Miyazaki</director>
            <price>19,99</price>
        </item>
        <item>
            <title>Blood, The Last Vampire</title>
            <director>Hiroyuki Kitakubo</director>
            <price>11,99</price>
        </item>
    </dvd>
    Le code ci-dessus (qui affiche le contenu du fichier XML dans la page) fonctionne correctement sous FF (3.5.2) mais aucunement sous IE (8.0).

    quelqu'un aurait une idée ?

    J'ai lu sur le net que pour IE il fallait modifier le header de la page et forcer la page à ne rien mettre en cache mais cela ne fonctionne pas

    D'avance merci

    Nicolas

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    136
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 136
    Par défaut
    J'ai également lu que pour contourner ce "bug" on pouvez envoyer un parametre factice
    xhr.send("aa=1");
    Mais rien à faire...

    Probleme constaté en utilsant la méthode POST ou GET

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Voir la FAQ.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    136
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 136
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Voir la FAQ.
    Les 3 méthodes de la FAQ n'ont pas d'effet sur le probleme

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 46
    Par défaut
    Salut,

    Si tu as un problème avec ton header utilise les lignes suivantes qui marche très bien chez moi pour IE et FF

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            http_request.open("POST", url, true);
            http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            http_request.setRequestHeader("Content-length", 0);
            http_request.setRequestHeader("Cache-Control", "no-cache");
            http_request.setRequestHeader("Connection", "close");
            http_request.send(param);

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,
    J'ai une doute sur la variable xhr, est-ce une variable globale?

Discussions similaires

  1. [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
  2. [AJAX] AJAX Asynchrone ne fonctionne pas
    Par linar009 dans le forum Général JavaScript
    Réponses: 23
    Dernier message: 16/03/2007, 10h11
  3. [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
  4. [XML] &eacute; etc. ne passe pas sur mes navigateurs
    Par Damien R dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 10/11/2006, 15h22
  5. Réponses: 5
    Dernier message: 23/06/2006, 14h22

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