我有一個儀表板屏幕,需要在加載時發出大約20個AJAX請求,每個請求返回不同的統計信息。總共需要大約10秒才能返回所有請求。然而在那10秒內,UI幾乎被鎖定。在AJAX調用期間UI無響應
我記得讀過Nick Zakas撰寫的JS書,介紹了在密集操作(使用定時器)期間維護UI響應的技術。我想知道是否有類似的技術來處理我的情況?
* 我試圖避免結合AJAX調用的一些原因
$(".report").each(function(){
var container = $(this)
var stat = $(this).attr('id')
var cache = db.getItem(stat)
if(cache != null && cacheOn)
{
container.find(".value").html(cache)
}
else
{
$.ajax({
url: "/admin/" + stat,
cache: false,
success: function(value){
container.find(".value").html(value.stat)
db.setItem(stat, value.stat);
db.setItem("lastUpdate", new Date().getTime())
}
});
}
})
您是否已將$ .ajaxSettings設置爲* asynchronous *?那麼它應該工作。 – Bergi
我相信異步是$ .ajax的默認值? – tpow
異步是默認的:http://api.jquery.com/jQuery.ajax/ – Ian