У меня есть этот код, который отлично работает в FireFox, Chrome и IE8, но не работает ли он в IE6 и 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";
}
}
}
Когда я запускаю код в любом другом браузере, кроме IE6 и 7, на выходе отображаются все окна с предупреждениями, начиная с: - Вход в систему () - Вход в систему с измененным состоянием - Вход в GetEmailId () - Вход в состояние измененного входа в систему 2
а затем расположение окна изменится на http://server.com/profile.html
но когда я запускаю то же самое в IE 6 или 7, код не переходит в statechangedLogin2 (), и поэтому я получаю только следующие предупреждения:
* Entered Login()
* Entered State Changed Login
* Entered GetEmailId()
Я не могу понять, почему возникает эта проблема. Почему это происходит и что мне следует изменить? Проект отлично работает в других браузерах, включая IE8.
Может ли кто-нибудь помочь мне разобраться в этой моей проблеме.