我正在使用以下 Ajax 函数格式:
var xmlhttp;
function addAddress(str)
{
if (window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
else
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
//specific selection text
document.getElementById('info').innerHTML = xmlhttp.responseText;
}
}
var addAddress = "add";
xmlhttp.open("POST", "sys.php", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
var queryString = "&addAddress=" + addAddress;
xmlhttp.send(queryString);
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
return new XMLHttpRequest();
}
if (windows.ActiveXObject)
{
return new ActiveXObject("Micorsoft.XMLHTTP");
}
return null;
}
到现在为止,我所有的 Ajax 函数,就像上面的一样,都运行良好。但是,现在该功能仅在某些时候起作用。现在,有时我必须单击几次 onclick 事件才能执行该函数,否则该函数会挂起,然后大约 4 分钟后它会执行。
我测试了部分功能,发现问题出在以下位置:
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
alert(xmlhttp.status);
//specific selection text
document.getElementById('info').innerHTML = xmlhttp.responseText;
}
当函数工作时,我可以 alert(xmlhttp.status) 并得到 200。但是,当它不工作时,警报框甚至不会触发。事实上,什么都没有发生,甚至没有错误。
这可能是服务器问题吗?我有点想我的网站被黑了,但我找不到任何问题可以接受 Ajax 函数没有正确执行。
最后,我没有在我的本地主机上遇到这个问题,它只发生在实时网站上。
任何帮助将不胜感激。
谢谢