Как функции вернуть ответ на AJAX-запрос?

231
19 февраля 2018, 04:43

Как сделать чтобы getData() возвращала не undefined, а содержимое строки 36?

Answer 1

поскольку вы используете асинхронный запрос то код после запроса продолжает выполняться, а функция не успевает возвращать значение, можно использовать функцию callback : в функцию getData(callback) отправляете функцию callback

function returnData(data){
console.log(data);
}
getData(returnData){
// формирование запроса
if(this.readyState ==4 &&this.status == 200){
 returnData(JSON.parse(this.responseText));
}
}
Answer 2

Приблизительно так:

var response = JSON.parse(this.responseText)
// далее в цикле получить значения 
// или вывести в консоль, например name
console.log(response.name)
READ ALSO
Не могу вывести таблицу из js в html

Не могу вывести таблицу из js в html

Получаю с сервера информацию, заполняю массивы и пытаюсь вывести таблицу в html, но выдаёт ошибку"Cannot set property 'innerHTML' of null"Перемещение скрипта...

449
ckeditor onchange - почему мой код срабатывает 2 раза?

ckeditor onchange - почему мой код срабатывает 2 раза?

ЗдравствуйтеНастраиваю ckeditor

203
React - растет кол-во “бесполезного” кода

React - растет кол-во “бесполезного” кода

Есть контейнер, который подключен к Redux'уЭтот контейнер, по сути, управляет всем приложением

188
Галерея magnific popup

Галерея magnific popup

На сайте есть слайдер, по клику открывается MFP-галерея со смешанными элементами, по наведению на картинку в слайдере, полноразмерное изображение...

275