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.