страница строится быстрее чем думает ajax
Доброго времени.
Впервые начинаю использовать аякс. У меня есть пару вопросов, наверное глупых. Прошу понять и простить. function loadPage(sum){ var barArray; $.ajax({ type: "POST", url: "/any.php", data: 'sum='+sum, success: function(msg){ barArray = msg; alert(msg);// алерт 1 }, error: function(){ } }); return barArray; } var dataReturn = loadPage(sumBlockCount); alert(dataReturn);// алерт 2 Проблема в том, что в обычном яваскрипте по идее сначала должен вылезти алерт 1, а потом уже алерт 2. Именно так мне и надо. Но тут все по другому - сначала вылезает пустой алерт 2, а только потом алерт 1 внутри аякс функции. С этой проблемой связано много косяков на сайте. Подскажите способ, как ее предотвратить. |
Цитата:
|
Огромное спасибо :)
Проблема решилась только добавлением async: false, |
Цитата:
Если пугает асинхронная логика, то смотри в сторону Deferred, тем более на jQuery там совсем всё просто) Например: $.when($.ajax{ /* тут тело нашего запроса */ }).then(function() { /* а этот код выполнится только тогда, когда прибежит ответ от сервера*/ }); |
shaltay,
а что мешает в самой success функции выполнять необходимые действия с результатом ? |
Цитата:
|
Часовой пояс GMT +3, время: 23:19. |