有没有办法在页面渲染后将新数据从 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 进一步说明。
例如我可以在页面即将呈现时发送数据:
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 进一步说明。