Javascript.RU

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

возврат значения в функции
Здравствуйте я вызываю функцию которая прекрасно отрабатывает и в print_r есть массив, но нет вывода alert(key+sac), что тут может быть не так?
function get_meta(id){
        $.ajax({
          type: 'POST',
          url: '/admin/get_meta/',
		  dataType: 'json',
          data: {data:id},
		  cache: false,
          success: function(data) {
		  alert(print_r(data));
		  return data;
		
		
          },
          error:  function(xhr, str){
                alert('Возникла ошибка: ' + xhr.responseCode);
            }
        });
		return data;
}
$('#select1').change(function(){
var value = $(this).val();
//получение тайтла
var title=get_meta(value);
 $.each(title, function(key, sac) { 
alert(key+sac)
});
})
Ответить с цитированием
  #2 (permalink)  
Старый 16.04.2014, 15:20
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

читайте про то, в чем разница между синхронностью и асинхронностью (запросы делаются асинхронно, код выполняется синхронно)
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 17.04.2014, 09:57
Профессор
Посмотреть профиль Найти все сообщения от imediasun1
 
Регистрация: 23.12.2012
Сообщений: 437

Можете конкретно указать на коде что сделать чтобы получить массив в функции change, я так понял что код выполняется и не может как бы подождать асинхронный запрос и поэтому не приходит ответ от функции get_meta, так?
Ответить с цитированием
  #4 (permalink)  
Старый 17.04.2014, 10:15
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от imediasun1
и поэтому не приходит ответ от функции get_meta, так?
да так. Вы можете сделать синхронный запрос добавив опцию asyc: true (что не рекомендуется), а можете переделать свой код что бы он работал асинхронно.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #5 (permalink)  
Старый 17.04.2014, 16:01
Профессор
Посмотреть профиль Найти все сообщения от imediasun1
 
Регистрация: 23.12.2012
Сообщений: 437

а можно ли очередь исполнения поставить в функции change, чтобы js как бы подождал выполнение асинхронного запроса, или я не понимаю этого момента,Уважаемыйdevote,помогите примером как бы вы переделали ее пожалуйста,

Последний раз редактировалось imediasun1, 17.04.2014 в 16:14.
Ответить с цитированием
  #6 (permalink)  
Старый 17.04.2014, 16:36
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Сообщение от devote Посмотреть сообщение
Вы можете сделать синхронный запрос добавив опцию asyc: true
Наоборот, async: false, оно true по дефолту.
Ответить с цитированием
  #7 (permalink)  
Старый 17.04.2014, 16:38
Профессор
Посмотреть профиль Найти все сообщения от imediasun1
 
Регистрация: 23.12.2012
Сообщений: 437

А почему не рекомендуется и все таки какой другой метод решения?
Ответить с цитированием
  #8 (permalink)  
Старый 17.04.2014, 16:44
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Сообщение от imediasun1 Посмотреть сообщение
А почему не рекомендуется и все таки какой другой метод решения?
Потому что браузер повиснет на время запроса.
Другой метод решения - засунуть код который должен выполняться после выполнения запроса в каллбек (функция, которая прописана в success).
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возврат результат из функции I'm_Lazy AJAX и COMET 5 10.05.2013 13:00
Возврат значения функции после завершения анимации (затухания) grego jQuery 5 16.04.2013 22:25
При вычислении значения функции страница зависает Nellie Ваши сайты и скрипты 1 08.04.2013 22:04
Превращение значения обьекта в название функции. alexandre Общие вопросы Javascript 4 16.02.2011 01:04
Возвращение значения из функции dba Events/DOM/Window 21 06.10.2009 01:33