Ajax, problème avec IE
Tik
-
micoo86 -
micoo86 -
Bonjour,
J'ai un problème avec mon code Ajax qui fonctionne très bien sur Firefox et Chrome mais pas sur IE.
D'après mes tests, c'est le code
divId.innerHTML = xmlHttpRequest.responseText;
qui ne fonctionne pas.
Ci-dessous mon code :
function envoieRequeteSync(url,id) {
var xmlHttpRequest = null;
var divId = document.getElementById(id);
alert(divId.innerHTML);
if(window.XMLHttpRequest) {
xmlHttpRequest = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttpRequest.open("GET", url, false);
xmlHttpRequest.send(null);
divId.innerHTML = xmlHttpRequest.responseText;
alert(xmlHttpRequest.responseText);
alert(divId.innerHTML);
var scriptsJS = divId.getElementsByTagName("script");
evalScriptInDIV(scriptsJS);
}
Le premier alert renvoie bien le contenu origniel de ma div
Le second me renvoie bien le retour Ajax
Le troisième me renvoie vide... Je ne comprends pas...
J'ai un problème avec mon code Ajax qui fonctionne très bien sur Firefox et Chrome mais pas sur IE.
D'après mes tests, c'est le code
divId.innerHTML = xmlHttpRequest.responseText;
qui ne fonctionne pas.
Ci-dessous mon code :
function envoieRequeteSync(url,id) {
var xmlHttpRequest = null;
var divId = document.getElementById(id);
alert(divId.innerHTML);
if(window.XMLHttpRequest) {
xmlHttpRequest = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttpRequest.open("GET", url, false);
xmlHttpRequest.send(null);
divId.innerHTML = xmlHttpRequest.responseText;
alert(xmlHttpRequest.responseText);
alert(divId.innerHTML);
var scriptsJS = divId.getElementsByTagName("script");
evalScriptInDIV(scriptsJS);
}
Le premier alert renvoie bien le contenu origniel de ma div
Le second me renvoie bien le retour Ajax
Le troisième me renvoie vide... Je ne comprends pas...
1 réponse
-
Je viens de trouver (enfin) la solution :
En fait mon retour Ajax ne contenait QUE du Javascript contenu dans une balise
Code :
Sélectionner tout - Visualiser dans une fenêtre à part
<script type="text/javascript">mon code</script>
... Et monsieur IE n'aime pas ça... en envoyant simplement
Code :
Sélectionner tout - Visualiser dans une fenêtre à part
<script type="text/javascript">mon code</script>
ça fonctionne correctement