有没有办法在渲染页面后将新数据从nodejs发送到jade?

时间:2015-06-01 23:02:33

标签: javascript ajax node.js express pug

例如,我可以在即将呈现页面时发送数据:

router.post('/login', function(req, res){
 res.render('filename', {title: 'File Name', FIles: JSON.stringify(doc)});
}

让我们说filename.jade有一个按钮,可以将数据发送回节点js,到' / getdoc'路线。和' / getdoc'不会渲染任何新页面,而是将数据保存在数据库中。并发送回数据。发送回doc的数据是保存在数据库中的所有文档的字典:

router.post('/getcode', function(req, res){
 res.header('text/html').send(doc);
}

我试过res.send和res.json。如果我在客户端使用res.json或res.send,我会像这样检索它:!{JSON.stringify(doc)}

1 个答案:

答案 0 :(得分:0)

简答:

但首先,JADE是一个渲染引擎,它采用玉文件和文件。数据(可选)并在服务器端呈现HTML页面 。然后,应用程序管道将此页面发送到显示它的客户端。客户端上有 NO 玉。

现在,解决您的问题:

  • 您的路线看起来不错,请使用res.json将数据作为JSON发回。
  • 使用客户端脚本(vanilla JS或任何其他类似jQuery的库)通过AJAX调用该路由(单击按钮时),并从收到的数据中更新DOM。

我希望这会有所帮助。评论/回复进一步澄清。