안녕하세요, ajax 호출에 문제가 있습니다. 나는 기본적으로 10 개의 아약스 요청이 만들어진 동안 표시하고 숨기는 div 인로드 중 화면을 표시하려고합니다. 그것은 파이어 폭스 3.6에서 잘 작동하는 것으로 보이지만 div는 크롬 10과 IE8에 나타나지 않습니다. 문제는 div가 나타나고 있지만 Ajax 호출 전에 열리는 숨겨진 이벤트가 발생하기까지 수 밀리 초 동안 만 표시된다는 것입니다. 여기 기능입니다 :모든 ajax 호출이 완료되면 화면로드 중입니다.
function addAllToPlaylist() {
var title;
var i = 1;
var percentage = 0;
var total = $('.tdtrackname').size();
$('#loadingscreen').show();
$('.tdtrackname').each(function() {
$.ajax({
async: false,
url: 'ajax/addsongtoplaylist.php?query=' + $(this).html(),
success: function(data) {
$('#divajax').html(data);
percentage = Math.round((i/total) * 100);
$('#loadingmsg').html('<h3>Adding songs...please wait<br>' + i + '/' + total + ' (' + percentage + '%)</h3>');
}
});
i++;
});
$('#loadingscreen').hide();
}
내가 로딩 화면이 늦게 .. 미리
하지 문제에 대한 답하지만 하나 개의 큰 요청으로 모든 요청을 결합하는 것이 더하지 않을까요? 한 번 비슷한 요구가 있었고 7 초로드를 2 초로드로 전환 할 수있었습니다. 그것은 당신의 동기화/비동기 문제도 해결할 것입니다. – Mike