【发布时间】:2014-03-14 06:33:32
【问题描述】:
我希望这是有道理的......
我有一个页面根据使用情况加载相同的外部文件 1-12 次。较大的加载时间需要整整一分钟才能加载页面,因此我尝试通过 ajax 加载每个文件,但使用循环加载文件会完全挂起服务器。
这是我目前使用的代码:
function getSchedule(startday,scheduleID,scheduleView){
$.ajax({
type: 'POST',
url: siteURL+'/includes/schedule-'+scheduleView,
data: {startday:startday,scheduleID:scheduleID},
success: function(data){
$('.scheduleHolder'+scheduleID).html(data).removeClass('loading');
}
});
}
var loadSchedules = [];
var startday = $('#the_start_day').text();
var totalSchedules = $('.scheduleHolder').length;
var i = 0;
$('.scheduleHolder').each(function(){
var currentHolder = $(this);
var scheduleView = currentHolder.attr('rel');
var scheduleID = currentHolder.attr('id');
loadSchedules.push(getSchedule(startday,scheduleID,scheduleView));
if (totalSchedules==i) {
$.when.apply($, loadSchedules);
}
i++;
});
每个文件在单独加载时应该只需要 2-5 秒来加载,所以我真的希望总加载时间可以从 60 秒到 10 秒左右。
所以,我的问题是如何在不杀死服务器的情况下多次同时加载同一个文件?这有意义吗?
【问题讨论】:
标签: javascript php jquery ajax