Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.09.2010, 23:49
Интересующийся
Отправить личное сообщение для db_test Посмотреть профиль Найти все сообщения от db_test
 
Регистрация: 14.09.2010
Сообщений: 15

Помогите укротить AJAX )
Доброго,

у меня проблема бьюсь второй день никак не могу найти решения
итак суть проблемы :
в одной функции мы получаем массив


function ...

        for (var i = 0; i < workArray.length; i++) {
                buildHTML(workArray[i], 'regions');
        }; 

....

buildHTML = function (geoId,holder) {
        $.ajax({
            url: 'Трулялял'+ geoId,
            error: function(){
                alert('Произошла ошибка. Перезагрузите страницу или попробуйте позже.');
            },
            success: function(text){
                $('#' + holder).append(text);
            }
        });
    }


Но так как мы можем для второго элемента массива получить ответ по ajax быстрее - этот див будет перед дивом для первого элемента массива.

Как мне запустить buildHTML последовательно ... что то типа очереди событий. setTimeout не подходит ((

буду благодарен за помощь.
Ответить с цитированием
  #2 (permalink)  
Старый 15.09.2010, 09:45
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

Цитата:
Example: Loads data synchronously. Blocks the browser while the requests is active. It is better to block user interaction by other means when synchronization is necessary.

var html = $.ajax({
  url: "some.php",
  async: false
 }).responseText;

Может это поможет?
__________________
Не хочешь, чтобы тебя послали? Не спрашивай куда идти.
Ответить с цитированием
  #3 (permalink)  
Старый 15.09.2010, 13:09
Интересующийся
Отправить личное сообщение для db_test Посмотреть профиль Найти все сообщения от db_test
 
Регистрация: 14.09.2010
Сообщений: 15

спасибо мысль понял ...

как то вот так получилось

function ...
        var result;
        for (var i = 0; i < workArray.length; i++) {
                result += buildHTML(workArray[i]);
        }; 
        $(holder).html(result);
....

buildHTML = function (geoId,holder) {
        var html = $.ajax({
            url: 'Трулялял'+ geoId,
            error: function(){
                alert('Произошла ошибка. Перезагрузите страницу или попробуйте позже.');
            }, async = false
	}).responseText;		        
        return html;
   }
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите со странной ошибкой jquery, ajax InviS jQuery 3 06.09.2010 17:52
Помогите исправить ошибки. AJAX на MooTools 1.11 dron79 Библиотеки/Тулкиты/Фреймворки 0 26.08.2010 10:40
Ajax разбор метода mycoding jQuery 14 21.05.2010 10:57
помогите с Ajax upload dmi3y Общие вопросы Javascript 0 04.02.2010 13:26
Помогите настроить Ajax tooltip Jeckerson AJAX и COMET 1 14.08.2009 16:31