Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2014, 18:38   #1
der90
Пользователь
 
Регистрация: 12.02.2014
Сообщений: 73
По умолчанию Сохранение переменной

Как в данном примере сохранить переменную с, какой бы answer не при шел все равно c = 0
Код:
 function messageShowTreatment(id)
    {
       c = 0;
        $.ajax({
            url: "answer/getCountM&id=" +id,
            success: function (answer)
            {
                c = answer;
            }
        });
        
        return c == 0 ? "Сообщений нет" : ("Сообщения есть (" + с + ")");
    }
der90 вне форума Ответить с цитированием
Старый 13.03.2014, 22:04   #2
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Это асинхронность.
Для обработки ответов сервера надо использовать коллбэки. Собственно, функция success - это и есть коллбек, он будет выполняться когда придут данные с сервера (в это время функция messageShowTreatment уже выполнится и вернёт значение заданное изначально - 0).

Из функции messageShowTreatment вы никак не сможете возвратить данные, полученные от сервера.
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Старый 14.03.2014, 09:23   #3
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от Fenex Посмотреть сообщение
Из функции messageShowTreatment вы никак не сможете возвратить данные, полученные от сервера.
В параметрах $.ajax() можно добавить async: false, тогда выполнение функции заблокируется до получения ответа. Но это не джедай-метод, асинхронность рулит.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 14.03.2014, 21:04   #4
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Цитата:
тогда выполнение функции заблокируется до получения ответа
А некоторые даже не очень древние браузеры и ослики вообще заблокируются, вплоть до невозможности скроллить страницу )
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение значения переменной при выходе из функции с++ danil123 Помощь студентам 12 13.11.2013 15:00
VBA и Oracle: stored procedure из VBA и сохранение текста в переменной Lionne Microsoft Office Excel 1 15.04.2013 19:51
Для public переменной класса присвоить адрес ячеек из внешней переменной _KUL Qt и кроссплатформенное программирование С/С++ 2 28.05.2012 12:04
Сохранение переменной (delphi) CAMOBAP Помощь студентам 5 11.02.2011 14:47
Работа с файлами (создание, удаление, открытие, связываение с переменной, очищение памяти переменной) Arkuz Общие вопросы Delphi 12 25.09.2007 20:47