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 IE et firefox


Sujet :

AJAX

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut [AJAX] Ajax IE et firefox
    Bonjour à tous,


    Voilà je fais une fonction ajax pour rafraichir une liste de sélection:


    Voici la fonction qui permet de reconnaitre mon navigateur:

    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
    function getXMLHttpRequest() {
     
    	var xhr = null;
     
    	//firefox
    	if (window.XMLHttpRequest) {
    	xhr = new XMLHttpRequest();
    	alert('firefox');
    	}
     
    	//ie
    	else if (window.ActiveXObject) {
    	try {
    		xhr = new ActiveXObject("Msxml2.XMLHTTP");
    		alert('Msxml2.XMLHTTP');
    	}
    	catch (e) {
    		xhr = new ActiveXObject("Microsoft.XMLHTTP");
    		alert('Microsoft.XMLHTTP');
    	}
    	}
     
    	//non supporté
    	else {
    	alert("Fonction non supportée par le navigateur");
    	xhr = false;
    	}
     
    	return (xhr); 
     
    }

    A titre informatif, cars je souhaite que la fonction marche sur toutes les versions IE (Aller à partir de la 6....)je suis en IE 8, même sur IE j'ai l'alert('Firefox') qui s'affiche et dans la suite du code....


    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 getVilles(departement){
     
    	var xhr = getXMLHttpRequestTest(); // Voyez la fonction getXMLHttpRequest() définie dans la partie précédente
     
    	xhr.onreadystatechange = function() {
    		if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
    			if(xhr.responseText != null){
    				//Effacer le contenu
    				document.getElementById('optionsVillesID').innerHTML = '';
    				//Modifier le contenu du select villes
    				document.getElementById('optionsVillesID').innerHTML = xhr.responseText;
    				//alert(document.getElementById('optionsVilles').innerHTML);
    		} else if (xhr.readyState < 4) {
    			//Action non défini pour ce statut
    		}
    	}};
     
    	xhr.open("GET", '/clubPoker78/jsonJquery/getVilles.action?departement=' + departement, true);
    	xhr.send(null);
    }

    J'ai l'erreur à la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(xhr.responseText != null){
    même si avant je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(xhr.responseText);
    rien ne s'affiche!

    Et voici le début de ma réponse coté serveur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    response.setContentType("text/html;charset=UTF8");


    Je vous remercie d'avance.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    J'ai trouvé l'un des problèmes....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    response.setContentType("text/html;charset=utf-8");
    Tout marche correctement maintenant.....

    La déclaration n'était pas correctement faite mais je ne comprend pas pourquoi sur IE je détecte comme si j'étais sur firefox...


    Je vous remercie d'avance.

  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
    Tout simplement parce que depuis la version 7, IE implémente l'objet XMLHttpRequest.
    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 éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    Merci pour votre réponse

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

Discussions similaires

  1. [AJAX] AJAX+Firefox : readyState ne dépasse pas le 1
    Par TheRedLed dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/04/2007, 13h42
  2. Ajax content-type et firefox
    Par malbaladejo dans le forum ASP
    Réponses: 2
    Dernier message: 11/12/2006, 08h57
  3. [AJAX] AJAX ou Firefox ?
    Par stela86 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/04/2006, 11h32
  4. [AJAX] Ajax IE vs Firefox ?
    Par lezard dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/04/2006, 14h41
  5. [AJAX] AJAX en local (firefox /wamp)
    Par Space Cowboy dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 11/03/2006, 12h05

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