2011-03-10 71 views
0

我正在使用類似以下的東西等待ajax請求在javascript中完成。這適用於IE和Firefox,但這不適用於Chrome。我真的沒有選擇使用jQuery API,因爲我使用的自動化工具僅支持執行純Java腳本。有什麼我在這裏失蹤?在Chrome中等待AJAX​​完成

while(count!=0) 
    count = jQuery.active; 

感謝, -Nilesh

+0

這是不明確的 - 你用jQuery標記了這個,但是你說你沒有任何選擇使用jQuery,但是你的代碼示例**沒有使用jQuery ... – Pointy 2011-03-10 17:20:17

+3

無論如何,「等待」像這樣的緊密循環是一個絕對可怕的想法。你正在凍結用戶的瀏覽器,甚至整個計算機。 – Pointy 2011-03-10 17:20:54

+0

代碼引用沒有上下文。什麼是「數」,它是如何被使用的? – 2011-03-10 17:20:58

回答

1

正如其他人的評論所指出的,你的問題實在是沒有意義的,但如果你正在尋找的東西開火時關閉一個Ajax請求完成,那麼你需要設置回調函數。如果你需要做這個

$.get('your-url.html', function(data) { 

    // Your callback function. 
    // Any word you need done after the response 
    // has completed goes here. 

}); 

假設你正在使用jQuery(這是我無法從你的問題告訴我,你是或不是),那麼你可以這樣做在一篇文章中,然後查看jQuery的$.post甚至$.ajax文檔。

如果你是而不是使用jQuery,那麼你仍然可以使用vanilla JavaScript來實現這一點,但是你需要看看XHR對象順序來確定你是否準備好觸發回調。所有這些信息都在Mozilla Developer Center深入報道。

0
$.ajax({ 
    type : "GET",  
    url  : "url here", 
    success : function(html){ 
     complete(html); 
    } 
}); 

function complete(html){ 
    //do stuff when load complete here 
} 

不是一個非常明確的問題。但是這裏是一個獲得帶有「完整」功能的ajax請求。