Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3083 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Ajax ne marche pas sous firefox

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ajax ne marche pas sous firefox

n°1879659
d@kn1ko
Posté le 30-04-2009 à 11:47:26  profilanswer
 

bonjour
 
je n arrive a résoudre un probléme
 
le code ajax fonctionne tres bien sous ie mais impossible de le faire fonctionner sous firefox
je n ai aucune erreur dans la console de firefox.
 

Code :
  1. function get_Xhr()
  2. {
  3.   if (window.XMLHttpRequest)                 //  Objet de la fenêtre courant
  4. {
  5.     xhr = new XMLHttpRequest();     //  Firefox, Safari, ...
  6. }
  7. else
  8.    if (window.ActiveXObject)                    //  Version Active
  9.    {
  10.       xhr = new ActiveXObject("Microsoft.XMLHTTP" );   // Internet Explorer  
  11.    }
  12. }
  13. function ajaxclient()
  14. {
  15.   get_Xhr();
  16.   xhr.onreadystatechange = function()
  17.    {
  18.     if(xhr.readyState == 4 && xhr.status == 200)
  19.      {
  20.       document.getElementById('testt').innerHTML = xhr.responseText;
  21.      }
  22.    }
  23.   xhr.open("POST",'ajax/ajax_ajout_client.php',true);
  24.   xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  25.   xhr.send("cocl="+document.form_ajout_client.name.value);
  26. }


 
merci de votre aide

mood
Publicité
Posté le 30-04-2009 à 11:47:26  profilanswer
 

n°1879677
SICKofitAL​L
misanthrope
Posté le 30-04-2009 à 12:46:43  profilanswer
 

d@kn1ko a écrit :

bonjour
 
je n arrive a résoudre un probléme
 
le code ajax fonctionne tres bien sous ie mais impossible de le faire fonctionner sous firefox
je n ai aucune erreur dans la console de firefox.
 

Code :
  1. function get_Xhr()
  2. {
  3.   if (window.XMLHttpRequest)                 //  Objet de la fenêtre courant
  4. {
  5.     xhr = new XMLHttpRequest();     //  Firefox, Safari, ...
  6. }
  7. else
  8.    if (window.ActiveXObject)                    //  Version Active
  9.    {
  10.       xhr = new ActiveXObject("Microsoft.XMLHTTP" );   // Internet Explorer  
  11.    }
  12. }
  13. function ajaxclient()
  14. {
  15.   get_Xhr();
  16.   xhr.onreadystatechange = function()
  17.    {
  18.     if(xhr.readyState == 4 && xhr.status == 200)
  19.      {
  20.       document.getElementById('testt').innerHTML = xhr.responseText;
  21.      }
  22.    }
  23.   xhr.open("POST",'ajax/ajax_ajout_client.php',true);
  24.   xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  25.   xhr.send("cocl="+document.form_ajout_client.name.value);
  26. }


 
merci de votre aide


 
elle sert à rien t'as fonction get_XHR, puisque tu ne retournes aucune valeur... Si tu instancies des objets sans les renvoyer (ta variable est locale) ca pourra pas fonctionner, c'est clair, net et logique ;)
 

Code :
  1. function get_Xhr()
  2. {
  3.   if (window.XMLHttpRequest)                 //  Objet de la fenêtre courant
  4. {
  5.     return new XMLHttpRequest();     //  Firefox, Safari, ...
  6. }
  7. else
  8.    if (window.ActiveXObject)                    //  Version Active
  9.    {
  10.       return new ActiveXObject("Microsoft.XMLHTTP" );   // Internet Explorer  
  11.    }
  12. return false;
  13. }
  14. function ajaxclient()
  15. {
  16.   var xhr = get_Xhr();
  17.   xhr.onreadystatechange = function()
  18.    {
  19.     if(xhr.readyState == 4 && xhr.status == 200)
  20.      {
  21.       document.getElementById('testt').innerHTML = xhr.responseText;
  22.      }
  23.    }
  24.   xhr.open("POST",'ajax/ajax_ajout_client.php',true);
  25.   xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  26.   xhr.send("cocl="+document.form_ajout_client.name.value);
  27. }



---------------
We deserve everything that's coming...
n°1879678
olivthill
Posté le 30-04-2009 à 12:51:32  profilanswer
 

On peut aussi ajouter un test pour Msxml2.XMLHTTP :

function get_Xhr()
{
  var xmlHTTP;
  try{xmlHTTP = new XMLHttpRequest();}
  catch(e) {
    try{xmlHTTP = new ActiveXObject("Msxml2.XMLHTTP" );}
    catch(e) {
      try{xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP" );}
      catch(e) {
        alert("Your browser does not support AJAX!" );
        return false;
      }
    }
  }
  return xmlHTTP;
}


Message édité par olivthill le 30-04-2009 à 12:55:18
n°1879679
masklinn
í dag viðrar vel til loftárása
Posté le 30-04-2009 à 12:56:39  profilanswer
 

SICKofitALL a écrit :


 
elle sert à rien t'as fonction get_XHR, puisque tu ne retournes aucune valeur...


Il initialise une globale bien dégueu appelée "xhr", noob :o  

olivthill a écrit :

On peut aussi ajouter un test pour Msxml2.XMLHTTP :

function get_Xhr()
{
  var xmlHTTP;
  try{xmlHTTP = new XMLHttpRequest();}
  catch(e) {
    try{xmlHTTP = new ActiveXObject("Msxml2.XMLHTTP" );}
    catch(e) {
      try{xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP" );}
      catch(e) {
        alert("Your browser does not support AJAX!" );
        return false;
      }
    }
  }
  return xmlHTTP;
}



 [:cerveau vomi]

Message cité 2 fois
Message édité par masklinn le 30-04-2009 à 12:57:25

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1879680
SICKofitAL​L
misanthrope
Posté le 30-04-2009 à 12:56:48  profilanswer
 

[:aloy]

Code :
  1. var xhr = function ()
  2. {
  3.     if (window.XMLHttpRequest) // FF
  4.         return new XMLHttpRequest ();
  5.  
  6.     if (window.ActiveXObject) // IE oldschool et newschool
  7.     {
  8.         var o;
  9.         try { o = new ActiveXObject ("Msxml2.XMLHTTP" ); }
  10.         catch (e) { o = new ActiveXObject ("Microsoft.XMLHTTP" ); }
  11.         return o;
  12.     }
  13.     alert ("Pas de support de XHR !" );
  14.     return false;
  15. }


---------------
We deserve everything that's coming...
n°1879681
SICKofitAL​L
misanthrope
Posté le 30-04-2009 à 12:59:25  profilanswer
 

masklinn a écrit :


Il initialise une globale bien dégueu appelée "xhr", noob :o


oui j'ai bien vu mais c'est pas comme ca qu'on fait :o²


---------------
We deserve everything that's coming...
n°1879693
d@kn1ko
Posté le 30-04-2009 à 13:31:56  profilanswer
 

masklinn a écrit :


Il initialise une globale bien dégueu appelée "xhr", noob :o  


 


 
oublie que t as été également noob comme tu dis.
 
v tester les différentes propositions merci bien

n°1879698
d@kn1ko
Posté le 30-04-2009 à 13:38:59  profilanswer
 

SICKofitALL a écrit :


 
elle sert à rien t'as fonction get_XHR, puisque tu ne retournes aucune valeur... Si tu instancies des objets sans les renvoyer (ta variable est locale) ca pourra pas fonctionner, c'est clair, net et logique ;)
 

Code :
  1. function get_Xhr()
  2. {
  3.   if (window.XMLHttpRequest)                 //  Objet de la fenêtre courant
  4. {
  5.     return new XMLHttpRequest();     //  Firefox, Safari, ...
  6. }
  7. else
  8.    if (window.ActiveXObject)                    //  Version Active
  9.    {
  10.       return new ActiveXObject("Microsoft.XMLHTTP" );   // Internet Explorer  
  11.    }
  12. return false;
  13. }
  14. function ajaxclient()
  15. {
  16.   var xhr = get_Xhr();
  17.   xhr.onreadystatechange = function()
  18.    {
  19.     if(xhr.readyState == 4 && xhr.status == 200)
  20.      {
  21.       document.getElementById('testt').innerHTML = xhr.responseText;
  22.      }
  23.    }
  24.   xhr.open("POST",'ajax/ajax_ajout_client.php',true);
  25.   xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  26.   xhr.send("cocl="+document.form_ajout_client.name.value);
  27. }




 
ok testé et ca fonctionne merci bien

n°1879700
SICKofitAL​L
misanthrope
Posté le 30-04-2009 à 13:40:30  profilanswer
 

prends la deuxieme version de get_Xhr (), elle est surement plus complète car elle gère les différents cas pour IE


---------------
We deserve everything that's coming...
n°1879703
d@kn1ko
Posté le 30-04-2009 à 13:50:31  profilanswer
 

SICKofitALL a écrit :

prends la deuxieme version de get_Xhr (), elle est surement plus complète car elle gère les différents cas pour IE


 
ok  :)

mood
Publicité
Posté le 30-04-2009 à 13:50:31  profilanswer
 

n°1880988
d@kn1ko
Posté le 05-05-2009 à 10:52:42  profilanswer
 

je reviens vers vous je me heurte a un autre problème
 
il n y a que cette partie de code qui ne fonctionne pas sous ie6 mais fonctionne sans probléme sous firefox essayé en GET pareil
 
je précise que les alert s affichent bien avec ie6 comme firefox
 
je seche  :hello:  
 

Code :
  1. function get_Xhr()
  2. {
  3.   var xmlHTTP;
  4.   try{xmlHTTP = new XMLHttpRequest();}
  5.   catch(e) {
  6.     try{xmlHTTP = new ActiveXObject("Msxml2.XMLHTTP" );}
  7.     catch(e) {
  8.       try{xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP" );}
  9.       catch(e) {
  10.         alert("Your browser does not support AJAX!" );
  11.         return false;
  12.       }
  13.     }
  14.   }
  15.   return xmlHTTP;
  16. }
  17. function ajaxvoirinvite()
  18. {
  19. alert("test1" );
  20.    var xhr = get_Xhr();
  21.    xhr.onreadystatechange = function()
  22.     {
  23.      if(xhr.readyState == 4 && xhr.status == 200)
  24.       {
  25.    alert("test2" );
  26.       document.getElementById('voirinvite').innerHTML = xhr.responseText;
  27. }
  28. }
  29. alert("test3" );
  30. xhr.open("POST",'ajax/ajax_invite.php',true);
  31. xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  32. var test;
  33. if (document.form_recap_client.invite.checked)
  34. {
  35. test=1;
  36. }
  37. else
  38. {
  39. test=0;
  40. }
  41. alert(test);
  42. xhr.send("part="+test);
  43. }


et le fichier php

Code :
  1. <?php
  2. if (isset($_POST["part"]))
  3. {
  4. $value=$_POST["part"];
  5. if ($value==1)
  6.  {
  7.  echo "<td>
  8.   Nom : <input class=\"input\" type=\"text\" name=\"nom1\" id=\"nom1\"/><br><br>
  9.   Nom : <input class=\"input\" type=\"text\" name=\"nom2\" id=\"nom2\"/>
  10.   </td>
  11.   <td>
  12.   Prénom : <input class=\"input\" type=\"text\" name=\"prenom1\" id=\"prenom1\"/><br><br>
  13.   Prénom : <input class=\"input\" type=\"text\" name=\"prenom2\" id=\"prenom2\"/>
  14.   </td>";
  15.  }
  16.  else
  17.  {
  18.  echo "";
  19.  }
  20. }
  21. ?>


Message édité par d@kn1ko le 05-05-2009 à 13:39:24
n°1881075
d@kn1ko
Posté le 05-05-2009 à 14:19:44  profilanswer
 

bon j ai trouvé le problème si ca peut aider certain  
 
 
ca ne fonctionne pas avec ie6 mais bien avec firefox
<tr id="voirinvite">
</tr>
 
ce que j ai fait : marche sur les deux maintenant
<tr>
<div id="voirinvite">
</div>
</tr>

n°1881078
kao98
...
Posté le 05-05-2009 à 14:23:50  profilanswer
 

Plutôt que d'injecter du HTML directement dans ta page, utilise plutôt le DOM pour insérer et modifier ton arbre.


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1881079
d@kn1ko
Posté le 05-05-2009 à 14:25:59  profilanswer
 

kao98 a écrit :

Plutôt que d'injecter du HTML directement dans ta page, utilise plutôt le DOM pour insérer et modifier ton arbre.


 
je ne sais meme pas ce que c'est !  :)  
 
merci du conseil je regarderais a l occasion


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Ajax ne marche pas sous firefox

 

Sujets relatifs
Différence IE / FirefoxLa fonction mail() ne marche plus chez Free.fr ?
Soucis jQuery Ajax JspFlashCs3 As2 : GetUrl : COmment marche le Get ? Recherche :
2 listes déroulantes liés javascript+phpmysql+ajax[VC++ 2008 Express] Data breakpoints. Pourquoi que ça marche pas.
Le meilleur framework Ajax ?2 listes déroulantes liés javascript+phpmysql+ajax
[Resolu]Firefox Fonction Javascript replace fonctionne pas 
Plus de sujets relatifs à : Ajax ne marche pas sous firefox


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)