J'ai ce code, qui fonctionne bien dans FireFox, chrome et IE8 mais ne fonctionne pas sur IE6 et IE7.Problème fonctionnant AJAX correctement sur IE6 et IE7
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 boîtes d'alerte à partir de: - Entrée Login() - Etat Entrée Changé Connexion - Entrée GetEmailId() - Entrez Etat Changed 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 me voici:
- Entrée Login()
- Etat Entrée Changé Connexion
- Entrée GetEmailId()
Je ne peux pas comprendre pourquoi cette question est INTERVENUES. 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?
Y at-il raison de ne pas utiliser la bibliothèque ajax de quelque sorte , comme jQuery?Aussi, veuillez marquer vos sections de code comme code (le bouton 101010) –