我正在使用jQuery getScript
将X数量的js文件加载到我的页面中。每个JS页面都有一个AJAX调用,用于从数据库中提取数据。如何知道何时使用getScript完成Ajax调用?
我在getScript
上使用.done
方法来查看所有文件何时被加载,但我需要等到所有的AJAX调用都完成。
如何在做某事之前通过getScript
等待AJAX调用完成包含文件?
$.getMultiScripts(moduleIncludes, 'includes/js/modules/').done(function() {
// All of the JS files have been included but we need to wait until those files have finished their AJAX call.
});
// Get array of JS scripts to load
$.getMultiScripts = function(arr, path) {
var _arr = $.map(arr, function(scr) {
return $.getScript((path || "") + scr);
});
_arr.push($.Deferred(function(deferred) {
$(deferred.resolve);
}));
return $.when.apply($, _arr);
}
让所有的程序写的完成状态的地方。然后,您需要查询“某处”(服务器,localStorage或其他)以检查所有过程是否已完成。 – pah
@threadp我该如何去等待或检查类似的东西的状态? – SBB
安装一个'setTimeout'处理程序,它检查是否完成,如果一切都完成(加载),则执行进一步的代码。 – pah