2014-02-18 4 views
0

У меня есть этот код, и я хотел бы остановить скрипт, пока $ .get() не закончен.Остановить скрипт, пока файл не загружен

$.get("assets/data/html/navigation.html", function(response) { 
    $('body').append(response); 
}); 
$('body').append('<div class="modal">...</div>'); 

В этом примере второе приложение выполняется до первого.

Thanx за вашу помощь

ответ

3

Нет, вы не хотите, чтобы остановить сценарий, вы хотите пойти на из внутри обратного вызова:

$.get("assets/data/html/navigation.html", function(response) { 
    $('body').append(response); 
    doOtherStuff(); 
}); 
function doOtherStuff(){ 
    $('body').append('<div class="modal">...</div>'); 
} 

Или, используя done:

$.get("assets/data/html/navigation.html", function(response) { 
    $('body').append(response); 
}).done(function(){ 
    $('body').append('<div class="modal">...</div>'); 
}); 
1

Согласно документации jQuery:

var jqxhr = $.get("assets/data/html/navigation.html", function(response) { 
     $('body').append(response); 
    }) 
    .done(function() { 
     $('body').append('<div class="modal">...</div>'); 
    }) 
Смежные вопросы