возврат значения в функции
Здравствуйте я вызываю функцию которая прекрасно отрабатывает и в 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) }); }) |
читайте про то, в чем разница между синхронностью и асинхронностью (запросы делаются асинхронно, код выполняется синхронно)
|
Можете конкретно указать на коде что сделать чтобы получить массив в функции change, я так понял что код выполняется и не может как бы подождать асинхронный запрос и поэтому не приходит ответ от функции get_meta, так?
|
Цитата:
|
а можно ли очередь исполнения поставить в функции change, чтобы js как бы подождал выполнение асинхронного запроса, или я не понимаю этого момента,Уважаемыйdevote,помогите примером как бы вы переделали ее пожалуйста,
|
Цитата:
|
А почему не рекомендуется и все таки какой другой метод решения?
|
Цитата:
Другой метод решения - засунуть код который должен выполняться после выполнения запроса в каллбек (функция, которая прописана в success). |
Часовой пояс GMT +3, время: 02:09. |