forEach Зацикливание данных JSON.stringify из API с помощью ejs - PullRequest
0 голосов
/ 20 сентября 2019

Это приложение 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",
...