2010-11-03 13 views
0

我有一個函數,它有一個jQuery.post正在完成,POST參數傳遞給它。jQuery幫助檢查asyc行爲是否完成

function executeFunction(){ 
    jQuery.post("../somefile.php", {executeFunction:true}); 

} 

如果我沒有錯,這是異步行爲。

在其他地方的代碼,我有:異步行爲完成

executeFunction(function(){ 
     jQuery('#box').reload(); 
    }); 

後,我需要的jQuery(「#箱」)的動作重裝()。

如何檢查異步行爲是否已完成?

回答

2

這第三個參數$.post()是回調函數,當你的數據回來,像這樣運行:

function executeFunction(callback) { 
    jQuery.post("../somefile.php", {executeFunction:true}, callback); 
} 

在上面的例子中,對executeFunction=true被傳遞到服務器,如果WASN」牛逼你的意圖,你只是想發佈的數據,它看起來像這樣:

function executeFunction(callback) { 
    jQuery.post("../somefile.php", callback); 
} 

此外,該回調,如果你需要使用它們,數據(服務器響應),狀態接收幾個參數, XmlHttpRequest,所以你可以做例如:

executeFunction(function(data) { 
    //use data, it's what the server sent back 
    jQuery('#box').reload(); 
});