Node.js, отображающий данные с помощью node-rest-client из Api

Я новичок в Node.js, и я застрял с небольшой проблемой. Мой API возвращает JSon, но я не могу увидеть JSon в данных или ответе. Помощь высоко ценится. Заранее спасибо

router.get('/search/:id', function(req, res){client.get("http://localhost:3000/api/search/5600678e1c76b4680e0d6544", function(data, response){

        console.log(data);
        console.log(response);

res.render('test', {test: data,  user : req.user , title : 'Home'});
    });
});

2 ответа

Решение

РЕДАКТИРОВАТЬ: я понял, что вы неправильно здесь другой способ, как сделать это с помощью модуля npm request

var request = require('request');

router.get('/search/:id', function(req, res) {
  request('http://localhost:3000/api/search/5600678e1c76b4680e0d6544', function(error, response, body) {
    if (!error && response.statusCode == 200) {
      console.log(body)
      var data = body;
      res.render('test', {
        test: data,
        user: req.user,
        title: 'Home'
      });
    } else {
      res.end('Error: ' + error);
    }
  });
});

Если это не работает, возможно, ошибка localhost:3000 ничего не возвращая.

Когда вы звоните это:

console.log(data);

"data" - это форматированный в json объект.

Попробуйте использовать это:

console.log(JSON.parse(data));

Чтобы увидеть объект JSON.

Другие вопросы по тегам