Javascript 在呈现页面后,有没有一种方法可以将新数据从nodejs发送到jade?

Javascript 在呈现页面后,有没有一种方法可以将新数据从nodejs发送到jade?,javascript,ajax,node.js,express,pug,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('/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)}

简短回答:

但首先,JADE是一个呈现引擎,它获取JADE文件和数据(可选)并在服务器端呈现HTML页面。然后,应用程序管道将此页面发送到客户端,客户端将显示该页面。客户机上没有翡翠

现在,为您的问题提供解决方案:

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

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

您可以使用
res.json
将json文档发送回客户端。我已经尝试过了,但没有效果。我尝试了res.send和res.json。如果我使用res.json或res.send,那么在客户端,我检索它的方式如下:
!{JSON.stringify(doc)}
您能解释一下您计划如何在客户端使用数据以及为什么不能使用上述方法吗?在我使用res.send或res.JSON之后,在服务器端我打印console.log(doc),我得到了正确的项目,但在客户端,当我打印console.log(doc)时,我没有得到正确的项目。