Radzhab
@Radzhab

Как возвратить данные из функции node js и вывести на страницу?

У меня есть функция парсинга. Как возвратить данные из функции node js и вывести на страницу данные в формате json?
function run(){
    request('https://news.ycombinator.com', function (error, response, html) {
        if (!error && response.statusCode == 200) {
            var $ = cheerio.load(html);
            $('span.comhead').each(function(i, element){
                var a = $(this).prev();
                var rank = a.parent().parent().text();
                var title = a.text();
                var url = a.attr('href');
                var subtext = a.parent().parent().next().children('.subtext').children();
                var points = $(subtext).eq(0).text();
                var username = $(subtext).eq(1).text();
                var comments = $(subtext).eq(2).text();
                // Our parsed meta data object
                var metadata = {
                    rank: parseInt(rank),
                    title: title,
                    url: url,
                    points: parseInt(points),
                    username: username,
                    comments: parseInt(comments)
                };
                console.log(metadata);
            });
        }
    });
  • Вопрос задан
  • 3080 просмотров
Решения вопроса 1
ghaiklor
@ghaiklor
NodeJS TechLead
Зачем на NodeJS jQuery?
$('span.comhead').each(function(i, element){
P.S. Сори, недоглядел cheerio :)

Например Express:
run(req, res, next) {
    //делаем нужное
    res.send(yourJson);
}

Вы работаете только в скоупе request'а. Вам нужно вынести результат в скоуп того самого Express, к примеру.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Намек - переменная response.
Ответ написан
getUser(req, res) {
    res.json({name:"Sergey"});
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект