Javascript.RU

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

Область видимости переменных
Необходимо получить переменную data из анонимной функции.

$.post("ui.php", { "action":"test"},
        function (data) {
                console.log(data); // все отлично!
        }, "json");
    console.log(data); // undefined
Ответить с цитированием
  #2 (permalink)  
Старый 13.01.2013, 18:28
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Видимость получить можно, но Post - функция ассинхронная(обычно)
Поэтому обработка - вызов Ваших функций по получению данных data, а там их и передать не проблема параметром функции..
а так window.data = data - вот и видимость, которая имхо бесполезна.
Ответить с цитированием
  #3 (permalink)  
Старый 14.01.2013, 14:04
Новичок на форуме
Отправить личное сообщение для positiveman Посмотреть профиль Найти все сообщения от positiveman
 
Регистрация: 13.01.2013
Сообщений: 2

Я нашел решение! Нужно использовать функцию $.ajax, у нее есть параметр async, который выставляем "false", тогда скрипт должен ждать выполнения функции, а нужную переменную объявляем в глобал.
Ответить с цитированием
  #4 (permalink)  
Старый 14.01.2013, 15:08
Аватар для deivan
Профессор
Отправить личное сообщение для deivan Посмотреть профиль Найти все сообщения от deivan
 
Регистрация: 02.08.2012
Сообщений: 293

это решение сгодится, когда запрос один и короткий.
а если нужно опрашивать сервер десятками запросов, то в синхронном режиме приложение мощно повиснет.

лично я пихаю результаты асинхронного запроса в какой-нить удобный элемент ДОМ, а при проверке результата изначально смотрю, есть ли в этом элементе что-то. Если есть обрабатываю, если нет - жду через сетТаймаут и т.д.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Область видимости переменной jquery Prazdnic Общие вопросы Javascript 7 04.01.2013 19:17
область видимости Ultimatum Общие вопросы Javascript 2 19.06.2011 10:47
область видимости переменных в prototype (тупой вопрос)) stnw Общие вопросы Javascript 3 11.02.2011 19:25
область видимости переменных jetli13 Общие вопросы Javascript 3 17.09.2010 11:00
можно ли включить функцию в глобальную область видимости из файла maxval Элементы интерфейса 13 04.10.2009 07:11