我正在構建一個帶有大量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