Показать сообщение отдельно
  #1 (permalink)  
Старый 13.08.2014, 11:55
Новичок на форуме
Отправить личное сообщение для Rommik Посмотреть профиль Найти все сообщения от Rommik
 
Регистрация: 13.08.2014
Сообщений: 6

Не могу выпрыгнуть из ajax
Есть одна из функций с ajax. В цикле она отправляет запрос и получает разультат. Проблема в том,что в начале срабатывает сам цикл в 700+ раз (по уровню 1), а потом он падает в ajax (в уровень 2) и начинает там работать такое же кол-во раз. По нажатию кнопки я хочу остановить его. Буловская епременная меняется, но из ajax он не вылазит,что бы прервать цикл полностью. Т.е Я смотрю на 3-ем уровне и прерываю его. А вот к уровню 1 не могу вернуться,что бы полностью прервать его.

Подскажите как сделать.

function HousesInCity(Streets, CityDate)
         {
             var list = document.getElementById('result');
         $.each(Streets, function(i)
            {
                         // Пусть это будет уровень один (1)
				// Выпадываем из цикла
		 if (EACH_STATE_ACTIVE === false)
                                {
                                    alert("Остановка");
					return false;
                                    }
        params = {
                    function : 'HouseForStreets',
                    CityList: CityDate.id,
                    country: CityDate.c_country,
                    nameCity: CityDate.c_name,
                    latitude: CityDate.c_latitude,
                    longitude: CityDate.c_longitude,
                    id_street: Streets[i].id,
                    name_street: Streets[i].c_street_name
                };
             try
                {
                         // Пусть это будет уровень два (2)
                     var zap =   $.ajax({
                     type:'get',
                     url:'yandex_houses_functions.php',
                     action:'HouseForStreets',
                     dataType:'json',
                     data: params,
                      success:function (result )
                     {
                         // Пусть это будет уровень три (3)
                        if (EACH_STATE_ACTIVE === false)
                            {   
                                zap.abort();
                                 return false;
                             }

                        if (result.status === false)
                         {
                             var newDiv = document.createElement('div');
                             newDiv.innerHTML = result.text+result.fail+result.dump;
                             list.appendChild(newDiv);
                         }
                     }
                 });
                 }
           catch(e)
           {alert("Ошибка вызова ajax запроса. Получение Домов для улицы ");} 

      
           });   // Тут конец цикла
           
       }
Ответить с цитированием