У меня довольно сложный поиск, который использует несколько вызовов AJAX, поток выглядит следующим образом:
user performs search on button click
ajax request is made to php page which returns json data
for each result in returned data additional ajax request is made
run function which makes additional ajax call
end for each
end click function
это все работает хорошо, я хотел бы показать сообщение о загрузке вdiv и отключите кнопку поиска, затем, когда все запросы ajax будут завершены, повторно включите кнопку и удалите загрузочное сообщение.
мой скрипт находится ниже, в данный момент отключение / возобновление действия кнопки происходит почтимгновенно, я полагаю, потому что вызовы ajax являются асинхронными, как мне отменить отключение кнопки и удаление сообщения загрузки после того, как все запросы ajax завершены и отображены данные ??вызывается из первоначального успеха основного вызова ajax
function getKeyLocations(id){
var myUrl = 'getKeyLocations.php';
var myBorough = id;
var myKeys = $('#keywords').val();
var myType = $('input[name=keyParams]:checked').val()
var divId = '#borough_'+ id;
$.ajax({
url: myUrl,
type: 'POST',
data: 'borough_id='+myBorough+'&keys='+myKeys,
error: function(xhr, statusText, errorThrown){
// Work out what the error was and display the appropriate message
},
success: function(myData){
$(divId).html(myData);
}
});
};