如何找到javascript Ajax调用完成

时间:2011-12-12 22:52:43

标签: javascript ajax

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意味着程序运行完成了吗?

如果此程序调用完成,我怎么能调用另一个函数

1 个答案:

答案 0 :(得分:2)

每次http状态更改时,都会分配给xmlhttp.onreadystatechange的函数。当状态为4且状态为200时,请求已成功完成。您的代码正在检查它。您可以在if条件的正文中调用另一个函数来检查状态和状态。

如果您不仅仅是想了解ajax的来龙去脉,而只是想继续使用它,我建议您使用jQuery library。有很多东西要检查和捕获ajax。它不仅仅满足于眼睛。所以,如果你只是想继续完成程序的工作,那就好好看看jQuery吧。它可以为您处理所有技巧和陷阱,包括浏览器之间的所有差异。