Я создаю относительно простую конечную точку, которая должна возвращать число после выполнения краткого запроса базы данных и вычисления. Проблема в том, что я не уверен, как я должен отправить его в интерфейс, так что он легко доступен там. В частности, я использовал метод res.json()
, но когда console.log
'ed, он возвращает огромный объект, данные которого не найдены.Извлечение информации отправлено с использованием res.json Из интерфейса Node + Express
Как я могу отправить данные из API и принять их на передней панели? То есть, я предполагаю, что это придет как JSON, но мне интересно, распаковывать его.
Вот код:
router.get('/current/:id', function(req, res){
var collection = db.get('Activity');
var started = false;
var seconds;
//Important to use findOne here to get an object back instead of an array
collection.findOne({_id : req.params.id }, function(err, activity){
if (err) throw err;
var dateNow = (new Date()).getTime();
console.log("activity in /current/:id is: " + activity);
if (activity.runtime) {
var dateStart = (Date.parse(activity.runtime.startDate));
seconds = Math.round((dateNow - dateStart)/1000);
started = activity.runtime.started;
console.log("dateNow: " + dateNow);
console.log("dateStart " + dateStart);
console.log("seconds " + seconds);
console.log(activity.runtime.started);
} else {
started = false;
seconds = 0;
}
if (started && (seconds > 0)) {
//res.json(seconds);
console.log(res.json(seconds));
}
else {
//res.json(0);
console.log(res.json(seconds));
}
});
});
Спасибо. Это работает. Но мне все еще интересно все, что есть в этом :-) – MadPhysicist
Нет проблем, вы можете отправить все ответы как приведенный выше фрагмент. –