2009-11-23 62 views
1

我想編寫下面的JS代碼,但我不確定它是否可行 - 它會比下面更復雜,我希望在浪費大量時間之前從別人那裏獲得建議。這個JS代碼是否等待AJAX​​請求完成?

function ajax_request(array_element){ 

    $.get("process_txt.php", { path: full_path }, 
      function (data){ 

      }); 
} 
function bulk_upload(){ 

    //loop through array 

    //Call ajax function on one element of array - ajax_request(array_element) 

    //Does the loop wait for the ajax request to be completed to come 

} 

從上面,循環會等待AJAX​​請求還是繼續?如果繼續,我該如何讓它等待?如果沒有辦法做到這一點,我是否應該重新思考自己的邏輯?

我很感激任何幫助。

回答

3

由於默認情況下AJAX請求是異步的,所以循環不會等待。如果在繼續之前需要等待通話結果,則應使用AJAX請求的回調函數。我強烈建議不要使請求同步,因爲這將阻止客戶端,直到請求完成。

+0

完全同意 - 我會重新思考我的邏輯並使用回調函數。謝謝。 :) – Abs 2009-11-23 11:17:18

0

我認爲你應該分裂兩個「bulk_upload」函數。第一個函數執行ajax請求,第二個函數調用ajax的「回調」函數。

好運!