我使用下面的Ajax功能的格式工作部分:的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;
}
當該功能的工作,我可以提醒(xmlhttp.status),並得到200元。但是,當它不是工作,警報框甚至不會觸發。事實上,沒有任何事情發生,甚至沒有發生錯誤。
這是服務器問題嗎?我有點認爲我的網站被黑客入侵,但我找不到任何問題接受Ajax功能無法正常執行。
最後,我沒有在我的本地主機上得到這個問題,它只發生在實時網站上。
任何幫助將不勝感激。
感謝
您是否嘗試過不讓您的請求變爲全局變量?把'var xmlhttp;'放在'addAddress'函數中,看看會發生什麼... – anson
嗨,並且,謝謝你的建議。我只是嘗試過,但沒有運氣。我確實在if(window.XMLHttpRequest)中添加了一個警報(xmlhttp.status),並發現當函數掛起幾分鐘時,警報將返回0. – user175328
此外,函數(網站)在我的本地主機。該問題只發生在現場網站上。 – user175328