function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
}
if (xmlhttp.readyState==4 && xmlhttp.status==200)
以上陈述是否意味着该过程已完成。
我在文件中调用db过程,可能需要一些时间。
执行此状态4意味着程序运行完成了吗?
如果此程序调用完成,我怎么能调用另一个函数
答案 0 :(得分:2)
每次http状态更改时,都会分配给xmlhttp.onreadystatechange
的函数。当状态为4且状态为200时,请求已成功完成。您的代码正在检查它。您可以在if
条件的正文中调用另一个函数来检查状态和状态。
如果您不仅仅是想了解ajax的来龙去脉,而只是想继续使用它,我建议您使用jQuery library。有很多东西要检查和捕获ajax。它不仅仅满足于眼睛。所以,如果你只是想继续完成程序的工作,那就好好看看jQuery吧。它可以为您处理所有技巧和陷阱,包括浏览器之间的所有差异。