@ruslite

Почему jQuery AJAX выполняется раньше?

В этом коде alert в самом низу срабатывает быстрее чем в jQuery ajax. Почему так?
if(whatPathname) {

	    
	    jQuery.ajax({
        type:'POST',
        url:'index.php?option=com_ajax&module=filter_materials&method=getTwitter&format=json',
        data:'pathname=' + whatPathname,//параметры запроса
        success:function (data) {//возвращаемый результат от сервера
					jQuery.each(JSON.parse(data), function(index, item) {
						jQuery.each(item, function(key, value) {
							alert('no');
						})
					})   
        }
    	});

	    alert(jQuery('.allCat p').text());
  • Вопрос задан
  • 387 просмотров
Решения вопроса 1
@zolotykh
web-разработчик
Потому что ajax - асинхронный, значит задача запроса поставлена, и код выполняете дальше, в то время как ajax только начинает выполняться.

Чтобы сделать его синхронным надо использовать async: false:

jQuery.ajax({
        type:'POST',
        async: false,
        …
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы