2011-12-12 60 views
2
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) 

上述语句是否意味着该过程已完成。如何查找JavaScript Ajax调用完成

我在调用文件中的db过程,可能需要一点时间。

做这个状态4意味着程序运行完成了吗?

我如何可以调用另一个函数,如果这procedurew调用完成

回答

2

分配给xmlhttp.onreadystatechange函数执行每一次的HTTP状态变化。状态为4且状态为200时,请求已成功完成。你的代码正确地检查了这一点。您可以在if条件的主体内调用另一个函数,以检查状态和状态。

如果你不只是想学习Ajax的来龙去脉,只想继续使用它,我建议你使用jQuery library。有很多事情需要检查和捕捉阿贾克斯。它不仅仅是满足眼睛。所以,如果你只是想继续让你的程序开始工作,请仔细看看jQuery。它为您处理所有技巧和陷阱,包括浏览器之间的所有差异。