我正在构建一个带有大量 ajax 调用的 Web 应用程序,100 多个我用来在我的 Web 应用程序中注入我的所有内容。
我希望找到一种方法来隐藏页面并显示 ajax 微调器,直到所有 ajax 调用都完成......和/或加载整个应用程序,然后显示该站点。
否则,用户可以浏览 A. 可能无法完全正确呈现的页面,或者 B. 当站点在完全加载时刷新到主页时将处于中间导航状态。
我遇到了解决方案的胆量,但不确定如何实施。或者将两者放在一起......大学项目离专业人士还很远,但这些看起来很有希望......
https://stackoverflow.com/a/14038050
$(document).ajaxStop(function () {
// $.active == 0
});
https://stackoverflow.com/a/12313138/2676129
$(document).ajaxStart(function() {
$.mobile.loading('show');
});
$(document).ajaxStop(function() {
$.mobile.loading('hide');
});
我怎样才能让它工作?我的 ajax 调用在多个 .js 文件(应用程序的不同部分)中被引用
非常感谢您的帮助!
编辑:使用的示例 ajax 调用
$.ajax(
{
url: "http://myurl",
type: 'get',
dataType: 'jsonp',
success: function(data)
{
if (data.result == 'success')
{
var previousPageID = "";
var currentPageID = "";
$.each(data.data, function(key, data) //scans through each Lv1 Category, creates a button and page and links thems.
{
var divLabel = data.label;
var pageID = currentPageID + data.label.replace(/\s/g, "");
$('#contentPage').append(generateButtons(pageID, divLabel)); //generates a normal button for a category from CMS and generates the relevant page to link to.
var previousPageID = currentPageID;
generateNextPage(data, previousPageID);
});
$("#Page").trigger("create"); //once html is injected into home <div> applies jquery mobile styling and effects (enhance)
}
}
});