从REST API NodeJs,Express和EJS渲染HTML

时间:2017-03-27 12:49:36

标签: node.js express

我在mysite.com/api/posts上有一个使用GET方法的API,它返回JSON格式的帖子列表

然后我有这条路线mysite.com/posts应该使用EJS从/ api / posts

呈现Json

如何使用NodeJS Express实现这一目标? 老年NodeJS开发人员如何处理这个问题? 你可以通过抛出一些代码或者NodeJS开发人员在GitHub中做些什么来帮助我吗?

我的代码如下所示:

routes.js

(...)

// GET route find all posts 
app.get('/posts', postsController.findAll); 

(...)

postController.js

(...)

findAll(req, res, next) {

    // This is the part that I am not sure, populate
    // data with the API results
    let data = app.get('/api/posts', apiPostsControllers.findAll)

    res.render('index', {
      page_layout: 'posts',
      page_title: 'Posts,'
      data: data
    });
  }

(...)

非常感谢

1 个答案:

答案 0 :(得分:0)

您必须将数据发布到该路径。然后在请求正文中,您将获得POST数据,您可以使用res.render('path',{data:[POSTdata]})将此数据发送到EJS模板; 然后,您将获得数据变量中EJS模板中的所有POST值。 当您以JSON格式公开REST api时,您可以使用使用Angularjs的替代方法。所以你可以使用角度http.get([RESTUrl])并将此数据绑定到HTML视图