Aller au contenu

Sujets conseillés

Posté

Bonjour,

J'ai un code qui fait une requête Ajax de type POST sur une page et affiche le résultat. Le code fonctionne très bien sous Firefox, Opera, mais sous IE7, ça foire. Le message dans la boite des erreurs JS est "Erreur d'exécution inconnue", ce qui ne m'aide pas vraiment.

function moveMap(direction)
{
req = false;
// branch for native XMLHttpRequest object
if(window.XMLHttpRequest && !(window.ActiveXObject)) {
try {
req = new XMLHttpRequest();
} catch(e) {
req = false;
}
// branch for IE/Windows ActiveX version
} else if(window.ActiveXObject) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
req = false;
}
}
}

if(req){
req.onreadystatechange = function()
{
if (req.readyState == 4) /* 4 : état "complete" */
{
if (req.status == 200) /* 200 : code HTTP pour OK */
{
// me renvoie le résultat
}
}
}
req.open("POST", "index.php", true);
req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
req.send("move=" + direction);
}
}

Apparemment, ce serait la ligne suivante qui causerait l'erreur en question :

req.onreadystatechange = function()

Quelqu'un peut m'éclairer ?

Posté

Ton erreur semble due à une mauvaise initialisation de la variable req ; essaie de remplacer le code suivant :

if(window.XMLHttpRequest && !(window.ActiveXObject)) {
try {
req = new XMLHttpRequest();
} catch(e) {
req = false;
}
// branch for IE/Windows ActiveX version
} else if(window.ActiveXObject) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
req = false;
}
}
}

par :

		try {
req = new XMLHttpRequest();
} catch(e1) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e2) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e3) {
req = false;
}
}
}

Posté

Salut ZeBrian

Malheureusement, j'ai toujours la même erreur sous IE :( D'autres idées ?

Posté

Problème réglé, cela ne venait pas de la requête comme telle, mais d'une balise ayant un mauvais id.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...