Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

xmlhttprequest qui plante sous ie

13 réponses
Avatar
Jibé
Bonjour,
c'est encore moi et mes requêtes serveur...
Je n'y comprends plus rien. Après avoir réussi à faire fonctionner des
trucs grâce à ASM.
Je me suis dit qu'il fallait quand même que je teste sur IE (windows XP)
et là! patatra!!!! rien ne marche et j'ai systématiquement une erreur
sur xhr_object.responseText sous IE (6 et 7)!!!
Donc je suis reparti de 0 et j'ai copier/coller dans un exemple aussi
simple que celui de ci-dessous.
Tout fonctionne impeccablement sous FF (1.5 et 2)... mais pas sous IE (6
et 7)
Ma requête fonctionne.
J'ai testé avec deux postes différents en local et les sites en AJAX
fonctionnent quand je suis sur le web.
Je deviens barjot ...

function test(identifiant,requete){
var xhr_object = null;
var x = identifiant;
/*alert(x);*/
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}

xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4)
alert(xhr_object.responseText);
}
xhr_object.open("POST",requete,true);
xhr_object.setRequestHeader("Content-type",
"application/x-www-form-urlencoded");
var data = "id="+x;
xhr_object.send(data);
}

JiBé

10 réponses

1 2
Avatar
O.L.
Jibé a exposé le 07/11/2006 :
et là! patatra!!!! rien ne marche et j'ai systématiquement une erreur sur
xhr_object.responseText sous IE (6 et 7)!!!


C'est quoi le texte exact de l'erreur ?

--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net

Avatar
Jibé
O.L. a écrit
C'est quoi le texte exact de l'erreur ?

Bonjour

En brut il dit :
Erreur : erreur système -1072896658
Code : 0

dans la console de debugage il me surligne
monresultat = xhr_object.responseText;

j'ai vérifié les éventuelles fautes de frappes, etc...
et ça fonctionne sans problème avec FF.

JiBé

Avatar
Jibé
C'est quoi le texte exact de l'erreur ?


Pour faciliter le truc j'ai mis un exemple en ligne (enfin!!! diront
certains et ils auront raison...)

http://www.tisiconsultant.com/test

JiBé

Avatar
ASM
Pour faciliter le truc j'ai mis un exemple en ligne (enfin!!! diront
certains et ils auront raison...)

http://www.tisiconsultant.com/test


ça ne va pas bien vite ...
Le php extracteur est bien optimisé ?

Heu ... les accents sont kkbouillés.

Avatar
Stéphane Santon
Bonjour,

Les détails d'erreur donnent Erreur ligne 28 :

var data = "id="+x;

Or x vient de :

var x = identifiant;

Que vaut identifiant ?
Avatar
Stéphane Santon
Bonjour,

Les détails d'erreur donnent Erreur ligne 28 :

var data = "id="+x;

Essaies de décomposer cette ligne et de mettre une constantr pour
tester:

var data = "id=1";
Avatar
YD
Pour faciliter le truc j'ai mis un exemple en ligne (enfin!!! diront
certains et ils auront raison...)

http://www.tisiconsultant.com/test


Il y a une erreur signalée dans la ligne :
xhr_object.setRequestHeader("Content-type",
"application/x-www-form-urlencoded","charset=iso-8859-1");

La méthode setRequestHeader n'admet que deux arguments et non trois. Comme il
s'agit d'un activeX et non d'un pur objet Javascript, cela provoque une
exception dans IE. Sous Firefox le troisième argument est très certainement
purement ignoré.

Il vaudrait mieux écrire (sur une seule ligne !) :
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded;
charset=iso-8859-1");

S'il y a plusieurs headers HTTP à positionner, il faut utiliser plusieurs fois
setRequestHeader je pense.

--
Y.D.

Avatar
Jibé
Bonjour,

Pour faciliter le truc j'ai mis un exemple en ligne (enfin!!! diront
certains et ils auront raison...)

http://www.tisiconsultant.com/test


ça ne va pas bien vite ...
Le php extracteur est bien optimisé ?
Oui, j'ai vu ça. Mais je ne pense pas que le problème vienne de là car

en local c'est bien plus rapide et j'ai le même problème

Heu ... les accents sont kkbouillés.
Oui, a y est !! j'ai traité la chaîne.


JiBé


Avatar
Jibé


Il vaudrait mieux écrire (sur une seule ligne !) :
xhr_object.setRequestHeader("Content-type",
"application/x-www-form-urlencoded;
charset=iso-8859-1");

Euh là il y a un truc. Effectivement mon test en ligne marche maintenant

YES!!!!
J'ai encore le bug sur les pages en cours de développement mais je
regarde ça de plus près demain matin.
Merci en tout cas.

JiBé

Avatar
Jibé


Il vaudrait mieux écrire (sur une seule ligne !) :
xhr_object.setRequestHeader("Content-type",
"application/x-www-form-urlencoded;

charset=iso-8859-1");

Euh là il y a un truc. Effectivement mon test en ligne marche maintenant

YES!!!!
J'ai encore le bug sur les pages en cours de développement mais je
regarde ça de plus près demain matin.
Merci en tout cas.

JiBé

PS : vous utilisez quoi comme debugger sous ie ? Parce que ce que j'ai
trouvé est super flou et ne m'indiquait aucune erreur dans
setRequestHeader mais simplement dans le retour responseTxt...

1 2