我想在每1分鐘後進行ajax調用,但只有在先前的ajax調用完成後才能進行後續調用。例如,ajax調用2只應在ajax調用1完成後才能進行。 我知道如何使用setInterval每1分鐘執行一次函數。 由於事先ajax與jquery調用
回答
您拍照時看看下劃線JS防抖動功能?
http://underscorejs.org/#debounce
基本上,這些讓你調用不會被調用,直到自上次調用毫秒x個功能是「去抖」的版本。
這將允許你做這樣的事情:當你說
var update = _.debounce(function() {
// do some ajax stuff here
}, 300);
setTimeout(update, 1000);
function ajaxCall(){
setTimeout(function(){
$.get(url, function(data){
// do stuff
ajaxCall();
})
}, 60000)
}
。如果下一個電話會在前一個電話完成時觸發。而前一個可以延遲超過1分鐘。讓我們起來,2分鐘。所以下一個會在2分鐘內至少被叫到。所以知道這一點。沒關係,一分鐘也不會工作,對吧?
那麼爲什麼不在最後一個完成時調用下一個ajax,而不是在一分鐘後分鍾激活它?使用完整的方法:
$.ajax({
url: 'file',
type: 'POST',
data: {},
complete: function(xhr, textStatus) {
//CALL HERE THE NEXT AJAX
},
或者,如果想要完成一前一後給1分鐘的時間:
$.ajax({
url: 'file',
type: 'POST',
data: {},
complete: function(xhr, textStatus) {
setTimeout(function(){
//CALL HERE THE NEXT AJAX
}, 1000)
},
應該是60000而不是1000 – 2012-08-10 03:55:22
我有一個ajax函數,它可以獲取用戶未讀取的消息數量或從數據庫中讀取新消息的數量。所以我想每1分鐘打一次ajax來檢查新的消息。但是如果最後的ajax調用需要超過1分鐘的時間才能完成,那麼由於ajax調用是異步的,我將會有另一個ajax調用。所以ajax調用會有1分鐘的間隔執行,並且最後的ajax調用應該完成,如果不等待它完成的話。 – rockstar 2012-08-10 05:58:45
明白了。我的第二個想法是在ajax完成後使用setTimeout並不適合你的場景? – 2012-08-10 06:03:55
- 1. jQuery的AJAX調用與頭
- 2. 如何使用jQuery與Ajax調用webservice?
- 3. 使用Mozilla FormData與jQuery $ .ajax調用
- 4. Ajax調用不與jQuery UI使用
- 5. jQuery ajax調用
- 6. 與Ajax調用
- 7. 與Ajax調用
- 8. 與jQuery的AJAX類數組調用ASMX
- 9. Java與jquery和ajax的其餘調用
- 10. jQuery的對話與AJAX調用複製
- 11. Ajax調用與jQuery的文件上傳
- 12. ASP.net與Jquery進行AJAX調用
- 13. 調用方法與jQuery的AJAX
- 14. jquery ajax調用與asp.net路由實施
- 15. jQuery驗證與AJAX調用衝突
- 16. 無效JSON跟蹤與jQuery ajax調用
- 17. jQuery的AJAX調用與OpenWeatherMap - 網:: ERR_CONNECTION_REFUSED
- 18. 在jQuery中使用回調與ajax
- 19. 與jquery ajax jsonp調用webservice:錯誤
- 20. 刷新DIV與Ajax調用jQuery的
- 21. jQuery的AJAX調用問題與GET
- 22. 與MVC jQuery的AJAX調用順序
- 23. jquery如果聲明與ajax調用
- 24. jQuery的卸載與AJAX調用在Chrome
- 25. jquery與parsejson多個ajax調用
- 26. ajax調用與jQuery的問題jax-rs
- 27. jQuery的Ajax調用調用
- 28. jquery ajax調用spring調用?
- 29. JQuery的Ajax調用
- 30. jquery ajax調用mysql
whathaveyoutried.com – Lance 2012-08-10 03:32:16