AJAX | Code HTML renvoyé sur FF3, Pas sur IE7

Fermé
prosciuto145 Messages postés 92 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 7 septembre 2009 - 22 juil. 2008 à 10:31
prosciuto145 Messages postés 92 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 7 septembre 2009 - 8 août 2008 à 15:55
Bonjour,
j'ai un problème d'AJAX O_o, et ouai, ça arrive...

J'ai suivis le tutoriel de cette page (première recherche sur google)
https://www.xul.fr/xml-ajax.html

J'ai adapté la fonction ajax qui s'execute lors d'un "onClick":
function display_equipment(location_details)
{
    var xhr; 
    try {  xhr = new ActiveXObject('Msxml2.XMLHTTP');   }
    catch (e) 
    {
        try {   xhr = new ActiveXObject('Microsoft.XMLHTTP');    }
        catch (e2) 
        {
          try {  xhr = new XMLHttpRequest();     }
          catch (e3) {  xhr = false;   }
        }
     }
 
    xhr.onreadystatechange  = function()
    { 
         if(xhr.readyState  == 4)
         {
              if(xhr.status  == 200)
                 document.getElementById(id).innerHTML =xhr.responseText; 
              else 
                 document.ajax.dyn="Error code " + xhr.status;
         }
    }; 

   xhr.open( "POST", "lien"+location_details+','+document.getElementById('level25').value,  true); 
   xhr.send(null); 
}


Sur la page de lien, je n'ai rien à par du texte HTML !
Sur firefox 3, la page m'est renvoyée avec les données HTML.
Sur IE7, la page ne m'est pas renvoyée.

D'où mes questions:
Faut il forcement avoir un "return" en php ou autre langage serveur pour qu'IE7 renvoie la page en AJAX ?
IE7 peut-il renvoyer du code HTML en passant dans les fonctions AJAX ?
Ais-je fais une faute de frappe dans mon code ?
Faut-il activé autre chose que le javascript pour qu'AJAX fonctionne ?

Précision:
Je désire intégrer cette fonction AJAX dans un environnement APEX HTML-DB.
Il m'est impossible de renvoyer des données comme en php par exemple.

Je vous remercie de vos réponses par avance si vous avez une petite idée.
Bonne journée.
A voir également:

6 réponses

prosciuto145 Messages postés 92 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 7 septembre 2009 24
7 août 2008 à 15:35
Re bonjour,
j'ai donc essayé de laissé rempli un champs pour qu'il ne soit pas vide comme cela:
document.getElementById("level_schema").innerHTML = '<h1 style="color:#CCCC99;">Levels</H1><hr>';

cependant ça ne fonctionne toujours pas sur explorer.
Je reçois une érreur "Run time error ligne X".
Sur un autre forum (http://forums.msdn.microsoft.com/en-US/netfxjscript/thread/aaabaeb7-225f-44d5-844b-80456a602255 ) une personne disait que sous IE7, la fonction getElementById capturait tous les name= et id=. j'ai donc changé le nom 'level_schema' pour un autre, mais rien a faire je capture toujours cette érreur qui m'empeche d'afficher correctement ma page...

Merci d'avance si vous pouvez m'aider
1
nEm3sis Messages postés 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 113
8 août 2008 à 11:26
je sais pas si tu as bien compris ce que j'ai dis, au cas ou je redis
ceci ne fonctionne pas
<div name="divvide"></div>
<div id="divvide"></div>
<script language="javascript">
	document.getElementById('divvide').innerHTML = 'aaaaaaaaaaaaaaaaaaaa';
</script>
alors que ceci fontionne
<div name="divpasvide"></div>
<div id="divpasvide">.</div>
<script language="javascript">
	document.getElementById('divpasvide').innerHTML = 'nnnnnnnnnnnnnnnnnnn';
</script>
1
prosciuto145 Messages postés 92 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 7 septembre 2009 24
8 août 2008 à 15:55
Arf, merci mais dans ce cas ce n'est pas ça non plus car mes divs sont très loin d'être vide :S

Je ne comprend pas surtout que dans toutes les autres pages je change un champs de ma page de la même façon et ça fonctionne très bien ...

J'obtient toujours la même érreur: "run time error, object required"
0
prosciuto145 Messages postés 92 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 7 septembre 2009 24
23 juil. 2008 à 09:22
Up :)
0
prosciuto145 Messages postés 92 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 7 septembre 2009 24
6 août 2008 à 14:09
Bonjour, je me permet de RE up ce sujet car j'ai trouvé l'erreur mais je n'arrive pas à la rectifier.

cette ligne ne fonctionne pas sous IE
 document.getElementById(id).innerHTML =xhr.responseText; 

apperement c'est un bug connu d'IE d'après ce que j'ai pu lire <a href="https://support.microsoft.com/fr-fr/help/276228">ici</a>, cependant normalement ce bug n'est présent que pour un "select".

Hors dans ce cas précis, il ne fonctionne pas tout cours. c'est embétant quand on sait que c'est la base de l'AJAX...

Je travaille sur APEX HTML-DB Oracle peut être que quelqu'un connaît les bugs avec cette application?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nEm3sis Messages postés 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 113
6 août 2008 à 15:42
je croit que ça fait ça quand le innerhtml est vide
essaye donc de faire en sorte qu'il ne soit jamais vide
0
prosciuto145 Messages postés 92 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 7 septembre 2009 24
6 août 2008 à 16:02
ok merci, je vais essayé !
0