Как сделать чтобы getData() возвращала не undefined, а содержимое строки 36?
поскольку вы используете асинхронный запрос то код после запроса продолжает выполняться, а функция не успевает возвращать значение, можно использовать функцию callback : в функцию getData(callback) отправляете функцию callback
function returnData(data){
console.log(data);
}
getData(returnData){
// формирование запроса
if(this.readyState ==4 &&this.status == 200){
returnData(JSON.parse(this.responseText));
}
}
Приблизительно так:
var response = JSON.parse(this.responseText)
// далее в цикле получить значения
// или вывести в консоль, например name
console.log(response.name)
Сборка персонального компьютера от Artline: умный выбор для современных пользователей