Это приложение node.js, использующее Express и ejs для вызова данных с помощью API, а затем отображающее эти данные на странице с помощью JSON.stringify.Я пытаюсь показать все вызовы данных API через цикл forEach на странице ejs.Я могу сделать так, чтобы данные отображались по отдельности, но я не могу сделать так, чтобы они отображались с помощью цикла forEach.
Вот что работает, у меня в файле server.js настроен следующий api:
server.js
//API v4/user/beers/username
const untappdAPI = { method: 'GET',
url: 'https://api.untappd.com/v4/user/beers/username',
qs:
{ access_token: 'abc123',
}
};
//untappd.ejs page
app.get('/untappd', function(req, res) {
try {
request(untappdAPI, function (error, response, body) {
if (error) throw new Error(error);
const info = JSON.parse(body);
res.render('untappd', {info});
});
} catch(e) {
console.log("Something went wrong", e)
}
});
В моем файле untappd.ejs есть следующее:
untappd.ejs
<%= JSON.stringify(info.response.beers.items[0].beer.beer_name);%>
когда я запускаю это, вывод на странице показывает название 1 пива:
Beer Name
Вот что не работает, теперь я хочу показать всеиз названий пива на этой странице, поэтому я попытался настроить цикл forEach следующим образом:
<% untappd.forEach(function(info){ %>
<%= JSON.stringify(info.response.beers.items[0].beer.beer_name);%>
<% }) %>
Но когда я запускаю это, я получаю сообщение об ошибке «untappd не определен».Что я делаю неправильно?Большое спасибо за любую помощь, которую вы можете оказать!
Полный JSON
"meta": {
"code": 200,
"response_time": {
"time": 0.03,
"measure": "seconds"
},
"init_time": {
"time": 0,
"measure": "seconds"
}
},
"notifications": {
"type": "notifications",
"unread_count": {
"comments": 0,
"toasts": 0,
"friends": 0,
"messages": 0,
"venues": 0,
"veunes": 0,
"others": 0,
"news": 5
}
},
"response": {
"total_count": 680,
"dates": {
"first_checkin_date": "Sat, 15 Aug 2015 01:12:58 +0000",
"start_date": false,
"end_date": false,
"tzOffset": "0"
},
"is_search": false,
"sort": false,
"type_id": false,
"country_id": false,
"brewery_id": false,
"rating_score": false,
"region_id": false,
"container_id": false,
"is_multi_type": false,
"beers": {
"count": 2,
"items": [
{
"first_checkin_id": 806418145,
"first_created_at": "Wed, 10 Sep 2020 15:16:51 -0700",
"recent_checkin_id": 806418145,
"recent_created_at": "Wed, 10 Sep 2020 15:16:51 -0700",
"recent_created_at_timezone": "-7",
"rating_score": 1.5,
"user_auth_rating_score": 1.5,
"first_had": "Wed, 10 Sep 2020 15:16:51 -0700",
"count": 1,
"beer": {
"bid": 3419450,
"beer_name": "Beer Name",