이것이 정말 간단 할 것이라고 확신하지만 ajax를 통해 다양한 다른 함수 호출을 수행해야하는 함수를 호출 할 때 문제가 발생합니다. 뒤에서 나는 모든 것이 끝날 때까지 페이지 위에 로더를 보여주고 싶지만 일어나지는 않습니다.다기능에서 모든 것이로드되기 전에 마무리 작업로드
function checkSession() {
return $.ajax({
type: "POST",
url: "/Test.aspx/checkForSession",
//data: "{}",
data: "{'idleTime':'" + clickedDT + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (sessionCheck) {
sessionActive = JSON.stringify(sessionCheck.d);
}
}).done(function() {
//if session comes back as dead, redirect to restart session
if (sessionActive == "\"false\"") {
var url = "/Error.aspx?RefreshNeeded=true&page=" + window.location.pathname;
$(location).attr('href', url);
}
//if page has gone past timeout length, try and reload it
else if (sessionActive == "\"timeout\"") {
var urlTO = window.location.pathname;
$(location).attr('href', urlTO);
}
});
}
및
function expand2(ID, user) {
return $.ajax({
type: 'POST',
contentType: "application/json; charset=utf-8",
url: '/Test.aspx/markExpanded',
data: "{'ID':'" + ID + "', 'user':'" + user + "'}",
async: false,
success: function (response) {
},
error: function()
{ console.log('there is some error'); }
}).done(function() {
});
}
그러나로드 오버레이가이 일을 일을 그 전에 사라지고 마무리되어 있습니다를 호출
function expand(ID, user) {
$('.loadingBlackSml, .loadingSml').fadeIn(1000);
checkSession();
expand2(ID, user);
$('.loadingBlackSml, .loadingSml').fadeOut(1000);
}
? 나는 내 전화에 $ .when을 사용하는 것에 대해 뭔가를 보았지만 제대로 작동하는 방법을 모르겠다.
어떤 조언은 좋은 것입니다. 감사합니다
FYI의 "코드 숨김"은 백엔드라고합니다. 따라서 .NET 백엔드가 있습니다. –