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] Différence ntre ie et firefox pour un script ajax


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de Phenomenium
    Inscrit en
    Janvier 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2004
    Messages : 185
    Points : 90
    Points
    90
    Par défaut [AJAX] Différence ntre ie et firefox pour un script ajax
    bonjour voila jai ce script de recherche qui fonctionne tres bien sous firefox, mais qui ne fonctionne pas sous IE.
    Est ce que quelqun peu me dire pourquoi ? merci

    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
    function sendData(data, page, method)
        {
            if(document.all)
                var XhrObj = new ActiveXObject("Microsoft.XMLHTTP");
            else
                var XhrObj = new XMLHttpRequest();
            var content = document.getElementById('divRes');
            if(method == "GET")
            {
                if(data == 'null')
                    XhrObj.open("GET", page);
                else
                    XhrObj.open("GET", page+"?"+data);
            }
            else if(method == "POST")
                XhrObj.open("POST", page);
            XhrObj.onreadystatechange = function()
            {
                if (XhrObj.readyState == 4 && XhrObj.status == 200)
                    content.innerHTML = XhrObj.responseText ;
            }    
            if(method == "GET")
                XhrObj.send(null);  
            else if(method == "POST")
            {
              XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                XhrObj.send(data);
            }
        }

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut Re: Probleme entre ie et firefox pour un script ajax
    Citation Envoyé par Phenomenium
    bonjour voila jai ce script de recherche qui fonctionne tres bien sous firefox, mais qui ne fonctionne pas sous IE.
    Est ce que quelqun peu me dire pourquoi ? merci
    Chez moi, open ça prends trois paramètres....

  3. #3
    Membre régulier Avatar de Phenomenium
    Inscrit en
    Janvier 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2004
    Messages : 185
    Points : 90
    Points
    90
    Par défaut
    Ba ca fonctionne tres bien comme ca sous firefox ??

  4. #4
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    va jeter un oeil là :
    http://siddh.developpez.com/articles/ajax/#LIII

    et tiens, en cadeau, une fonction qui évite 45 if ... else pour tester le get ou le post (ici, mode asynchrone seulement, mais t'as juste un true/false à modifier au cas où):

    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
    51
     
    // type_envoi : GET ou POST
    // url_cible : la page cible (à exécuter)
    // cible_page : le div cible pour l'affichage
    // parametres : les parametres à envoyer au fichier cible
    //		passer le paramètre sous la forme : val1=valeur1&val2=valeur2&val3=valeur3.....
    //
    // Valeurs possibles de readyState
    //		*  0 = non initialisé ;
    //		* 1 = ouverture. La méthode open() a été appelée avec succès ;
    //		* 2 = envoyé. La méthode send() a été appelée avec succès ;
    //		* 3 = en train de recevoir. Des données sont en train d'être transférées, mais le transfert n'est pas terminé ;
    //		* 4 = terminé. Les données sont chargées.
    function go(type_envoi, url_cible, cible_page, parametres){
    	// Création de l'objet XMLHttpRequest
    	getXhr();
    	// On défini ce qu'on va faire quand on aura la réponse
    	xhr.onreadystatechange = function(){
    		// Affiche un message d'attente
    		if ((xhr.readyState == 1) || (xhr.readyState == 2)) {
    			document.getElementById(cible_page).innerHTML = 'patientez';
    		}
    		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    		if(xhr.readyState == 4 && xhr.status == 200){
    			document.getElementById('centre_contenu').style.cursor="default";
    			// Texte renvoyé par la page cible (url_cible)
    			valeur_retour = xhr.responseText;
    			// On se sert de innerHTML pour rajouter les options a la liste
    			document.getElementById(cible_page).innerHTML = valeur_retour;
    		}
    	}
    	url_cible = "mon/chemin"+url_cible;
     
     
    	// Dans le cas du GET, on concatène les paramètres à l'adresse cible
    	if (type_envoi == 'GET') {
    		url_cible = url_cible+'?'+parametres;
    	}
     
     
    	// Envoi de la requête
    	xhr.open(type_envoi, url_cible,true);
    // Dans le cas du POST, on envoie le header ainsi que les paramètres
    	// Sinon (GET), on envoie null
    	if (type_envoi == 'POST') {
    		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    		xhr.send(parametres);
    	} else {
    		xhr.send(null);
    	}
    }
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  5. #5
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par Phenomenium
    Ba ca fonctionne tres bien comme ca sous firefox ??
    Faut croire que Firefox sait mettre des arguments par défaut dans les fonctions, ce que ne fait pas forcément IE.

    Mais open, ça prends trois paramètre. Essaye de rajouter true en troisième paramétre.

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

Discussions similaires

  1. Portable Firefox pour linux ?
    Par progfou dans le forum Applications et environnements graphiques
    Réponses: 13
    Dernier message: 19/03/2006, 22h07
  2. Différence entre binaire et hexadecimal (pour TPE)
    Par vaderetro33 dans le forum Ordinateurs
    Réponses: 7
    Dernier message: 28/02/2006, 19h42
  3. Les différences entre Qt3 et GTK pour développer en C ?
    Par piwee dans le forum Bibliothèques
    Réponses: 4
    Dernier message: 12/01/2006, 16h03
  4. [CSS] Décalage sur FireFox pour le moins étrange ...
    Par prgasp77 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 26/10/2005, 19h56
  5. différence entre varchar et text pour l'occupation mémoire
    Par champion dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 16/12/2004, 18h02

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