我正在构建一个带有大量Ajax调用的Web应用程序,我正在使用它来将所有内容注入到我的Web应用程序中。显示ajax微调,隐藏页面渲染,直到所有ajax调用完成?
我希望能找到一种方法来隐藏页面,并显示了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)
}
}
});
如果ajax没有通过jQuery触发,这个方法是否会起作用? –
@FrozenFlame if你不想使用jQuery来替换确定ajax调用何时开始或结束的部分。你如何做ajax调用(xmlhttprequests)? – nmargaritis