• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyrenderowanie wyscrappowanych danych Cheerio, express

HackNation - ogólnopolski hackathon
0 głosów
181 wizyt
pytanie zadane 3 stycznia 2020 w JavaScript przez payload32 Nowicjusz (120 p.)

Do requesta przekazuje link, następnie cheerio scrappuje mi z niego odpowiednie dane, które zapisuje sobie w zmiennej data - W console logu wszystko pokazuje się prawidłowo

 

  Następnie chce je wyrenderować w EJS'ie jak mogę to zrobić?

router.get('/', (req, res) => {

    res.render('index', {

        info: null

    });

});


router.post('/', (req, res) => {

    var name = req.body.name;


    request(name, (err, response, body) => {

        if (!err && response.statusCode == 200) {

            const $ = cheerio.load(body);


            $('.product ul').each((i, el) => {

                const name = $(el)

                    .find('.product_name')

                    .text();

                const dane = $(el)

                    .find('.product_value')

                    .text();

                var data = `${name} ${dane}`;

                console.log(data);

            });

        }

        res.render('index', {

            info: data

        });

    });

});

To mi zwraca błąd data undefined.

Tak to wyświetlam:

        <% if(info !== null){ %>
        <p><%= info %></p>
        <% } %>

Z góry dzięki za pomoc

1 odpowiedź

0 głosów
odpowiedź 4 stycznia 2020 przez ScriptyChris Mędrzec (190,190 p.)

Zmienna data jest lokalnie tworzona w callbacku do metody each, dlatego w linii 48, gdy już przypisujesz ją do property info jest undefined. Jeśli iterujesz po jakiejś tablicy (kolekcji, liście), to zmapuj sobie zawartość zmiennej data na zewnątrz i dopiero to przekaż do property info.

Podobne pytania

+1 głos
0 odpowiedzi 511 wizyt
+1 głos
1 odpowiedź 378 wizyt
0 głosów
1 odpowiedź 342 wizyt

93,624 zapytań

142,544 odpowiedzi

323,031 komentarzy

63,129 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 968p. - dia-Chann
  2. 959p. - DziarnowskiJ
  3. 941p. - Łukasz Piwowar
  4. 940p. - CC PL
  5. 930p. - Maurycy W
  6. 913p. - Tomasz Bielak
  7. 913p. - Adrian Wieprzkowicz
  8. 906p. - ssynowiec
  9. 899p. - raydeal
  10. 889p. - rucin93
  11. 885p. - Dominik Łempicki (kapitan)
  12. 878p. - Mariusz Fornal
  13. 874p. - robwarsz
  14. 847p. - Grzegorz Aleksander Klementowski
  15. 649p. - Michal Drewniak
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...