возврат значения в функции
Здравствуйте я вызываю функцию которая прекрасно отрабатывает и в 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, время: 01:42. |