我有一個顯然默認爲異步的ajax函數。但是我在嚮導的第一步中已經有了這個功能。所以當函數執行時,其目的是保存一些東西,保存後返回最後一個插入行的ID。事情正常。JQUERY中的AJAX調用後的延遲
但是,我面臨的問題是,這是在嚮導的下一步按鈕執行,所以ajax調用是異步,步驟明確跳到下一步。但服務器端功能仍然在後臺執行。所以在第二步中,我需要在第一步中生成的ID。但是如果用戶立即點擊第二頁上的下一步按鈕,那麼由於服務器端仍在運行該進程,所以不會得到該ID。當然,我可以通過驗證第二頁覆蓋此。但除了在第一頁ajax調用啓動後需要等待或延遲之外。這意味着我需要2-3秒的延遲,當用戶點擊第一頁的下一個按鈕時,但在啓動Ajax請求之後。
如何才能做到這一點?
My AJAX call
Delay of 5 seconds
Only then wizard should step ahead
基本上你回答你的問題。沒有看到您的代碼就無法回答具體細節。這個想法是,無論你現在做什麼來展示嚮導的下一步,都是在ajax調用的成功回調中完成的。研究承諾可能也很有用,它們可以用異步代碼提供很多幫助。 –
使用ajax回調有什麼問題? –
@Hans其實當我使用ajax成功回調時,它將在服務器端函數完成時執行。但是由於ajax調用是異步的,所以當服務器端函數執行時,嚮導將明確移動到下一步。因此,用戶可以點擊向導新頁面的繼續按鈕。爲了避免這種情況,我認爲在AJAX調用之後放置一個小的有意義的延遲(非Async = false) 因此,由於我有ladda按鈕,用戶可以看到某些內容在運行,因此他可以等待。 –