Я создаю веб-приложение с большим количеством вызовов ajax, 100+, которые я использую, чтобы внедрить весь свой контент в мое веб-приложение.Показать ajax spinner, скрыть отображение страницы до тех пор, пока все вызовы ajax не будут завершены?
Я надеялся найти способ скрыть страницу и показать ajax spinner, пока все вызовы ajax не будут завершены ... и/или все приложение загружено, а затем отобразит сайт.
В противном случае пользователь может перемещаться по страницам, на которых А. не может быть полностью отображен правильно, или 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