На данный вопрос уже ответили:
Добрый день. Есть функция которая загружает данные с помощью Аякс запрос к базе данные по Id пользователя
function getDialogToId(idVk){
var pageRez='0';
$.ajax({
url: 'http://site.ru/ajax/ids.php',
type: 'POST',
data: 'func=getDialogToId' + '&idVk=' + idVk,
dataType: 'json',
}).done(function(rez) {
pageRez = rez.page;
}).fail(function() {
alert('ОШИБКА, что-то не так');
});
return pageRez;
}
Но проблема в том, что как только я вызываю ее в цикле, переменные приходят undefined , подскажите в чем дело? почему функция не дожидается результата , который должен прийти в Аякс запросе, а сразу выдает не определенную переменную? и как это можно исправить? Спасибо.
вот код вызова:
getDialogToId('5093649');
Ajax выполняется асинхронно по умолчанию, т.е. ваш код продолжает выполняться, возвращает undefined и только много позже завершается выполнение ajax-запроса с присваиванием результата.
Самый простой (хоть и не самый лучший способ) - добавьте
async: false,
в ajax-запрос. Браузер выдаст предупреждение, но код будет работать так, как вы ожидаете.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
При попытке вызвать функцию MyApp_HighlightAllOccurencesOfString() из WebView
Всем приветЕсть таск для гранта, может кто помочь перевести его в таск для галпа? Чтобы синтаксис был верен