2011-06-26 92 views
1

通過添加delay(1000)delay(2000)是否會正確延遲從ajax調用返回doAction?我檢查了規範,我看到延遲與其他jQuery使用,如$("div.first").slideUp(300).delay(800).fadeIn(400);但是我只是不確定關於async = false ajax調用。.delay(2000)會延遲jQuery Ajax調用嗎?

$.ajax({ 
       type: "POST", 
       traditional: true, 
       url: '/adminTask/doAction', 
       async: false, 
       data: parms, 
       dataType: "json", 
       success: function (data) { 
        $("#rdy_msg").text("Completed: " + id).delay(1000); 
       }, 
       error: function() { 
        var cdefg = data; 
       } 
      }).delay(2000) 

回答

2

延遲與動畫一起使用,並將改變時間,直到鏈中的下一個函數執行。

從文檔(重點是我的)

加入jQuery的1.4版本中,.delay()方法允許我們推遲它後面的隊列功能的執行。 它可以與標準的效果隊列或定製隊列

你的情況,你可能尋找一個簡單的setTimeout(「功能」,延遲)被使用;

http://www.w3schools.com/js/js_timing.asp

+1

哦,javascript。我不會給睡覺()。 –

+0

我看到這個setTimeout() - 將來會執行一段代碼。如何停下來等待javascript。有這樣的事嗎? – MarieMarie

+0

@MarieMarie我真的很快就會問,爲什麼你想這樣做(我認爲你正在等待其他事情發生?)你等待什麼發生? – calumbrodie