[AJAX] compatiblité FF/IE
Bonjour à tous,
J'ai réalisé un code me permettant de lister des dossiers de manière dynamique en ajax/php.
Cependant j'ai remarqué un soucy avec IE, en effet rien ne se passe sous IE avec une erreur dans mon Javascript qui n'est pas clair du tout. j'ai supposé au début que celà pouvait venir du XMLHTTPREQUEST, mais je ne pense pas.
La fonction qui crée mon objet XmlHttpRequest
Code:
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
|
var requete = null; /* On crée une variable qui contiendra l'objet XHR */
function creerRequete() {
try {
requete = new XMLHttpRequest(); /* On essaye de créer un objet XmlHTTPRequest */
} catch (microsoft) {
/* Si cela ne marche pas, on a peut-être affaire
à un navigateur de Microsoft. On tente alors de créer un objet ActiveX */
try {
requete = new ActiveXObject('Msxml2.XMLHTTP');
} catch(autremicrosoft) {
/* Autre méthode si la première n'a pas marché */
try {
requete = new ActiveXObject('Microsoft.XMLHTTP');
} catch(echec) {
/* Si aucune méthode ne fonctionne, on laisse l'objet vide*/
requete = null;
}
}
}
if(requete == null) {
alert('Votre navigateur ne semble pas supporter les objets XMLHttpRequest.');
}
} |
Et voici le code de ma fonction ouvrir qui pose problème sous IE
Code:
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
|
function ouvrir(id) {
/* On récupère la balise doté de l'identifiant précisé */
src = document.getElementById(id);
/* On crée notre super objet XHR global */
creerRequete();
/* On construit à l'avance notre URL en passant les paramètre en GET */
var url = 'arborescence.php?dir='+id;
/* On initialise la fonction de renvoi d'information */
requete.onreadystatechange = function() {
if(requete.readyState == 4) {
if(requete.status == 200) {
// IE me sort une erreur a ce niveau mais je ne comprend pas pourquoi !!
src.innerHTML = requete.responseText;
}
}
};
/* On édite les propriété de l'objet : type de paramètre,
url (avec paramètres) et une option autorisant une réponse du serveur */
requete.open('GET', url, true);
/* C'est partit ! On envoi la requête XHR au serveur */
requete.send(null);
} |
Merci de votre aide !