2011-12-12 48 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。它爲您處理所有技巧和陷阱,包括瀏覽器之間的所有差異。