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 qui plante IE mais pas Firefox


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 72
    Points : 51
    Points
    51
    Par défaut [AJAX] Script qui plante IE mais pas Firefox
    Bonjour,

    J'ai fais un petit script en AJAX, celui ci marche parfaitement sous Firefox mais sous IE dès que l'action est appelé le navigateur freeze et plus rien à faire à part (CTRL + ALT + SUPPR)...
    Ci dessous le petit bout de code en question : J'ai enlevé tout le parsing XML dans reponse() pour plus de clarté.

    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
    function creerObjet() {
        var obj;
        var browser = navigator.appName;
        if(browser == "Microsoft Internet Explorer"){
            obj = new ActiveXObject("Microsoft.XMLHTTP");
        }else{
            obj = new XMLHttpRequest();
        }
        return obj;
    }
     
    var http = creerObjet();
     
    function addPanier(id, quantite){
        var url = "addPanier.do";
        var idProduit = id;
        var quantite = quantite;
            http.open('get', url + '?idProduit=' + escape(idProduit) +'&quantite=' + escape(quantite), true);
            http.onreadystatechange = reponse;
            http.send(null);
    }
    function reponse() {
      if(http.readyState == 4){
            alert('ok');
       }
    }
    PS : les valeurs de http.readyState passe de 1 à 2 puis plus rien, c'est là qu'il plante... sous Firefox aucun problème par contre.

  2. #2
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Salut... essaye...

    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
     
    function creerObjet() 
    {
        var obj;
        if(window.XMLHttpRequest) // Firefox et autres
        {
            obj = new XMLHttpRequest();
        } 
        elseif(window.ActiveXObject)  // Internet Explorer
        {
            var ieversions = ['Msxml2.XMLHTTP',
                                   'Microsoft.XMLHTTP',
                                   'Msxml2.XMLHTTP.5.0',
                                   'Msxml2.XMLHTTP.4.0',
                                   'Msxml2.XMLHTTP.3.0'
                                   ];             
             for(var i=0; !obj && i<ieversions.length; i++)     
             {         
                  try        
                  {            
                      obj = new ActiveXObject(ieversions[i]);        
                  }         
                  catch(e)         
                  {             
                      obj = null;  
                  }       
               }     
          }
     
        return obj;
    }
     
    var http = creerObjet();
     
    function addPanier(id, quantite)
    {
        if(http)
        {
            var url = "addPanier.do";
            var idProduit = id;
            var quantite = quantite;
     
            http.open('get', url + '?idProduit=' + escape(idProduit) +'&quantite=' + escape(quantite), true);
            http.onreadystatechange = function() 
            {
                if(http.readyState == 4)
                    alert('ok');
            };
            http.send(null);
         }
    }
    Sinon regarde ce que j'ais posté ... .. .

    @ tchaOo°

  3. #3
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 289
    Points
    3 289
    Par défaut
    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
    function creerObjet() 
    {
        var obj;
        if(window.XMLHttpRequest) // Firefox et autres
        {
            obj = new XMLHttpRequest();
        } 
        elseif(window.ActiveXObject)  // Internet Explorer
        {
            var ieversions = ['Msxml2.XMLHTTP',
                                   'Microsoft.XMLHTTP',
                                   'Msxml2.XMLHTTP.5.0',
                                   'Msxml2.XMLHTTP.4.0',
                                   'Msxml2.XMLHTTP.3.0'
                                   ];             
             for(var i=0; !obj && i<ieversions.length; i++)     
             {         
                  try        
                  {            
                      obj = new ActiveXObject(ieversions[i]);        
                  }         
                  catch(e)         
                  {             
                      obj = null;  
                  }       
               }     
          }
    
        return obj;
    }
    
    var http = creerObjet();
    
    function addPanier(id, quantite)
    {
        if(http)
        {
            var url = "addPanier.do";
            var idProduit = id;
            var quantite = quantite;
    
            http.open('GET', url + '?idProduit=' + escape(idProduit) +'&quantite=' + escape(quantite), true);
            http.onreadystatechange = function() 
            {
                if(http.readyState == 4)
                    alert('ok');
            };
            http.send(null);
         }
    }
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  4. #4
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Bien joué... j'avais même pas vu... .. .

    @ tchaOo°

Discussions similaires

  1. Script qui fonctionne sur chrome mais pas firefox
    Par crozet.magenta dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/01/2013, 12h14
  2. Form qui Fonctionne avec IE mais pas Firefox
    Par voyageurdumonde dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/09/2010, 19h03
  3. [debutant] - Simple script qui plante IE.. comprend pas pourquoi..
    Par ShinJava dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/08/2006, 23h06
  4. [AJAX] page qui ne s'affiche pas
    Par loka dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 25/04/2006, 11h43
  5. Réponses: 2
    Dernier message: 23/04/2006, 21h02

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