2012-07-19 181 views
0

我使用jquery在調用服務器之前顯示進度指示器。通話結束後,我隱藏了進度指示器。我注意到的問題是進度指示器永遠不會顯示,瀏覽器窗口會凍結,直到對客戶端的調用返回。我怎樣才能防止這一點。進行呼叫時,我希望進度指示器動起來。Javascript:防止瀏覽器在調用服務器時被凍結

我正在使用$ .ajax方法來調用服務器。這是代碼。請注意,我沒有顯示對$ .ajax的調用,因爲它被隱藏在invoke調用中,但可以放心調用它。

// Show progess indicator while waiting. 
var imgAjaxSaving = $("#imgAjaxSaving"); 
imgAjaxSaving.show(); 

// Call server 
developerServiceProxy.invoke 
("SaveAppSpec", 
    { "appSpec": appSpec }, 
    function (result) 
    { 
     // Hide the progress indicator. 
     imgAjaxSaving.hide(); 
    }, 
    AjaxError, false, false 
); 
+0

你可以顯示你用來顯示進度指示器以及你的ajax調用的代碼嗎? – megsa 2012-07-19 07:03:26

+0

代碼的重要部分是$ ajax調用。至少,developerServiceProxy.invoke(...)的參數是什麼。最後兩個錯誤的論據是用來做什麼的? – 2012-07-19 07:10:52

回答

2

您可以使用異步調用並使用回調函數來隱藏進度條。

看:

http://api.jquery.com/jQuery.ajax/

此外,確保異步等於在選項(這是默認的)真實。

+0

我已經是。我正在使用$ .ajax,它是異步的。 – AndroidDev 2012-07-19 07:02:33

+0

你可以發佈你的代碼嗎? – 2012-07-19 07:02:58

+0

您能否確認ajax選項中的「async」不等於false? – 2012-07-19 07:04:35

相關問題