如何在节点js中的网页上发布数据

时间:2015-06-07 18:48:23

标签: javascript node.js postgresql postback

刚开始使用Node.js,现在我成功配置了Postgres数据库。我可以从db中获取记录,我也可以在console.log中看到记录。 但现在我有点担心如何在同一页面上发布数据。

我的页面名为index,包含两个文本字段和一个提交按钮。当我使用用户名和ID提交我的数据时,我在request.post方法中收到此请求。

router.post('/', function (req, res) {
    var username = req.body.username;
    var userid = req.body.userid;

    // method which take parameters and return records from db
    getRecords(userid, username, function (result, found) {
        if (found) {
            console.log(result.rows.length);
        }
    });
}); 

从db成功转换后,我可以在控制台中看到记录计数。但是现在我如何将这些数据发布到我收到此请求的同一页面(index.ejs)。

我试着做

res.send('/', { title: result.rows.length });

和ejs文件

<p>Count is <%= title %></p>

但我收到的错误是“标题”未定义。 那么如何显示计数以及如何显示从数据库中获取的记录列表。

2 个答案:

答案 0 :(得分:0)

只需写下red.send(结果),或者如果你想发送多个回复,你可以red.write(result)并记住抓住你网页中nodejs发送的结果

答案 1 :(得分:0)

如果要使用某些变量渲染模板,则需要使用res.render()。例如:

// or res.render('index', ...)
res.render('index.ejs', { title: result.rows.length });

这假设您已正确设置应用的视图设置。