遵循angular2课程,当我尝试从前端获取竞赛时,我最终得到了以下后端node.js服务器代码片段:
router.get('/', function(req,res,next) { // actually /contests/
Contest.find()
.populate('user', 'firstName')
.exec(function(err, docs) {
if (err) {
return res.status(404).json({
title: 'Error !',
error: err
});
}
res.status(200).json({
message: 'Success',
obj: docs
});
});
});
当我从我的应用程序内部访问它时,哪个工作正常,但如果我尝试通过简单地键入url:... / contests /并按Enter键来访问它,我只会收到页面上显示的JSON对象,不是我打算用普通应用程序做的事情。
我想要做的是返回正确的页面(=所有页面的渲染index.html文件(angular2 SPA)),还要将一些JSON数据附加到响应,我可以在前端访问。有没有办法实现这一目标?类似的东西:
res.render('index', {message: 'Success', obj: docs}); // Not working
而不仅仅是
res.json({ ... })
对于不包含返回JSON的GET的路由,一切正常。
我不明白代码段是否在体系结构上是错误的,或者我是不是很愚蠢,因为我在google搜索时无法找到相关信息。我对node.js来说比较新。
任何帮助,输入或指示都将不胜感激!
答案 0 :(得分:0)
我意识到现在不必以这种方式参加比赛。我通过简单地将所有这些GET转发到我的API端点来解决它。