Я хочу запустить AJAX, чтобы получить некоторые данные URL, построить объект из данных и назначить его глобальной переменной объекта. Поэтому я знаю, что мне нужно запустить синхронный запрос ajax. (Правильно?) Ну, я также хочу использовать параметр beforeSend, чтобы дать пользователям загрузочный экран. (Вероятно, я должен сначала спросить, перед тем, как отправить этот метод?) Как я могу комбинировать преимущества sync и async?Выполнение синхронного и асинхронного AJAX в одно и то же время
асинхронной:
$.ajax({
url:'scripts/scripts.php?call=page&url='+thisurl, /*local*/
dataType:'html',
beforeSend:function(){
$('#display').html('<div class="loading"></div>');
},
success:function(data, textStatus, jqXHR){
/*local*/ myobj = getMyObj(data); $('#display').html(myobj);
},
error:function(jqXHR, textStatus, errorThrown){ }
});
синхронизации:
$.ajax({
url:'scripts/scripts.php?call=page&url='+thisurl, /*local*/
dataType:'html',
async:false,
success:function(data, textStatus, jqXHR){
/*global*/ myobj = getMyObj(data);
}
});
$('#display').html(myobj);
жаль, если это не имеет смысла
Как использовать [веб-рабочий] (https://developer.mozilla.org/En/Using_web_workers), если HTML5 является вариантом? – Bakudan
Wow, у них есть эти?! ... Я думал, что было бы здорово, если бы это было. Программисты все подумали. Я буду исследовать это. Теперь это всего лишь вещь HTML5? – philtune
Да, это так, поэтому IE ограничивается версией 10. Но в других версиях их браузеры выглядят нормально. Вы можете сделать будущее готовым, используя его и добавив резервную копию с помощью обычного решения jQuery. – Bakudan