J'ai ce code, qui fonctionne bien dans FireFox, chrome et IE8 mais ne fonctionne pas IE6 et IE7.problème en utilisant AJAX appel IE6 et IE7 - Je pose à nouveau la même question, parce que je n'ai pas eu de solution avant
function GetXmlHttpObject() {
//var xmlHttp = null;
try {
xmlHttp = new XMLHttpRequest();
} catch (e) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
function login()
{
alert("Entered Login()");
var url="http://server.com/ALUauth.php";
xmlhttp.onreadystatechange=statechangedLogin;
xmlhttp.open("GET", url, true);
xmlhttp.send(null);
}
function statechangedLogin()
{
if(xmlhttp.readyState==4)
{
alert("Entered State Changed Login");
if (xmlhttp.responseText=="Please <a href=http://server.com/ALUauth.php?login>login</a>")
{
document.getElementById("ALUauth").innerHTML=xmlhttp.responseText;
}
else
{
GetEmailId();
}
}
}
function GetEmailId()
{
alert("Entered GetEmailId()");
var url="http://server.com/GetPostEmail.php";
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=statechangedLogin2;
xmlhttp.open("GET", url, true);
xmlhttp.send(null);
}
function statechangedLogin2()
{
if(xmlhttp.readyState==4)
{
alert("Enter State Changed Login 2");
if(xmlhttp.responseText=="Login again")
{
window.location="http://server.com/profile.html";
}
}
}
Quand je lance le code dans un autre navigateur, sauf pour IE6 et 7 la sortie me montre toutes les cases d'alerte à partir de: - Entrée Login() - Etat Entrée Changed Connexion - Entrée GetEmailId() - Entrez État changement Connexion 2
et les changements d'emplacement de la fenêtre à http://server.com/profile.html
mais quand je lance la même chose sur IE 6 ou 7, le code ne va pas dans le statechangedLogin2(), et donc les seules alertes je reçois voici:
* Entered Login()
* Entered State Changed Login
* Entered GetEmailId()
Je n'arrive pas à comprendre pourquoi ce problème se produit. Pourquoi cela se passe-t-il et que devrais-je changer? Le projet fonctionne parfaitement bien sur d'autres navigateurs incluent IE8.
Quelqu'un peut-il m'aider à comprendre ce numéro?
Le navigateur génère-t-il des erreurs JavaScript (Outils-> Options Internet-> Avancé (onglet) -> Navigation (catégorie) -> Afficher une notification à propos de chaque erreur de script)? Le code peut-il être réduit (c'est-à-dire appeler GetEmailId), et produire toujours l'erreur? – AaronSieb
S'il vous plaît ne pas ouvrir les questions en double, en particulier lorsque l'original n'était même pas il y a 24 heures ... – ceejayoz
Pouvez-vous capturer d'autres appels à statechangedLogin2 qui ont un readyState différent? Une préoccupation que je vois ici est que les choses ne se terminera pas contrôlé si l'appel pour obtenir l'adresse e-mail échoue. –