inconsistance AJAX dans IE 8?
-
01-10-2019 - |
Question
Ceci est mon code: (plutôt la partie de celui-ci dodgy)
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
var requisicao=new XMLHttpRequest();
} else {
var requisicao=new ActiveXObject("Microsoft.XMLHTTP");
}
Ok. Parfois, cela fonctionne très bien, mais parfois JavaScript Debugger dans IE me dit ceci:
L'objet ne supporte pas cette model.js propriété ou une méthode ligne 59 caractère 3
Ce qui revient à ....
var requisicao=new XMLHttpRequest();
Qu'est-ce que les bugs me est le fait que, parfois, IE 8 accepte cela et se déplace sur, mais parfois, il étouffe et ne fonctionne pas?
Toute aide est la bienvenue
Merci à l'avance
La solution
Modifier Apparemment, dans ce cas, le numéro de la ligne d'Internet Explorer est correcte. Cela semble être un problème commun avec Internet Explorer 8. Il y a une solution potentielle ici: Ajax application fonctionne en certains navigateurs, pas d'autres .
Voici la partie pertinente du code:
try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
catch (e) { try { xmlhttp = new XMLHttpRequest(); }
catch (e) { xmlhttp = false; }}}
Malheureusement, les numéros de ligne d'Internet Explorer ne sont pas toujours exactes, car ils sont basés sur son propre, sérialisation interne de votre code. Le message d'erreur est probablement issu d'une autre ligne (espérons-le près de la ligne 59).
Je vérifier les endroits où vous appelez une méthode sur un objet qui pourrait être mis à des valeurs différentes pour une raison quelconque.