powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Select2 и ajax
6 сообщений из 6, страница 1 из 1
Select2 и ajax
    #39111207
Ne_znayu_python
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть код такой
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
    function fu (a, b){
       var result = null;
       $.ajax({
            url : "/service/suggest/",
            dataType : "json",
            //async: false,
            data : { 'brand' : a, 'city' : b },
            success : function(data){
                var arr = new Array();
                for (var i = 0; i < data.length; i++)
                {
                    arr.push(data[i].value);
                }
                result = arr;
            },
           error : function(url, data){
               alert('error '+data);
           }
        });
        return result;
    }


    $("#brand").select2({
      placeholder : "Выберите бренд",
      data : fu(1, 0)
    });


    $("#city").select2({
        placeholder : "Выберите город",
        data : fu(0, 1)
    });


Вопрос, почему асинхронно данные не возвращаются в data, а синхронно отрабатывает без проблем. В асинхронном запросе нормально отрабатывает, если сделать алерт, то они покажутся. Но не возвращаются.
...
Рейтинг: 0 / 0
Select2 и ajax
    #39111214
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ne_znayu_pythonпочему асинхронно данные не возвращаются в data, а синхронно отрабатывает без проблем
Дык все дело в асинхронности.
Ты запрос отправил и тут же заканчиваешь работу функции. А данные приходят потом в другом "потоке"...

Ne_znayu_pythonВ асинхронном запросе нормально отрабатывает, если сделать алерт, то они покажутся. Но не возвращаются.
Алерт показывает калбек-функция. Ей ведь все равно в каком "потоке" она запущена...
...
Рейтинг: 0 / 0
Select2 и ajax
    #39111217
Ne_znayu_python
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

а что сделать? Синхронную работу не вариант, ибо ждать одна функцию окончания другой будет долго, а посетителей много.
...
Рейтинг: 0 / 0
Select2 и ajax
    #39111226
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ne_znayu_pythonа что сделать?
Менять алгоритм...

Засовывать все это
Ne_znayu_python
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
    $("#brand").select2({
      placeholder : "Выберите бренд",
      data : fu(1, 0)
    });
    $("#city").select2({
        placeholder : "Выберите город",
        data : fu(0, 1)
    });



В калбек-функцию. Когда данные придут - тогда и будут выполнены соответствующие преобразования.
...
Рейтинг: 0 / 0
Select2 и ajax
    #39111240
Ne_znayu_python
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa, тут наоборот, функция fu вызывается
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
         $("#brand").select2({
          placeholder : "Выберите бренд",
          data : get_data(1, 0)
        });


        $("#city").select2({
            placeholder : "Выберите город",
            data : get_data(0, 1)
        });


Этими штуками. Алгоритм слишком геморно менять, но ты вроде натолкнул меня на мысль одну.
...
Рейтинг: 0 / 0
Select2 и ajax
    #39111630
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ne_znayu_pythonАлгоритм слишком геморно менять
А придется...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Select2 и ajax
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]