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

Is there a way to send new data from nodejs to jade after a page has been rendered?

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

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 页面 。应用程序管道然后将此页面发送到客户端,客户端显示它。客户端上有NO

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

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

希望对您有所帮助。 Comment/Reply 进一步说明。