node.js - 在 node.js 中动态渲染数据
问题描述
这是 node.js 中的一个典型路由,它有一个伪代码来连接数据库,使用查询获取一些数据,然后将它们传递给要呈现的页面,
router.get('/', function(req, res){
db-connect(function(err, db) {
if (err) {
return console.log('error');
}
db.query('select * from table', function(err, results){
if (err) {
return console.log('error');
}
res.render('index',{
'title':'my title',
'pageHeader': 'my header',
'results': results //dynamic ???
});
});
}); //connect
});//router get
我正在使用这个伪代码来问一个一般性问题:
数据是动态的results
,可能查询需要一段时间,所以results
不能快速到达页面,所以我猜渲染也需要一段时间。
我怎样才能在准备好后立即(title
和pageHeader
)呈现静态数据和动态部分(results
)?
我必须使用其他函数或其他语法吗?
谢谢
解决方案
res.render
填充您的模板并将其发送到客户端(浏览器)。当它在稍后阶段准备好时,您不能发送“更多”。
要么让客户端等待数据,要么先发送你的标题和标题,然后在浏览器上使用 XHR (javascript) 来获取其余部分。
推荐阅读
- php - 为什么 axios 不处理 'Content-Type': 'application/json'
- android - 丢失了我的密钥库密码和密钥密码。但是有pepk文件和jks文件,需要更新app
- r - 如何从 Excel 中提取 URL 并使用 R 将它们与其显示的文本匹配?
- php - POST AJAX 返回空数组,即使 console.log 也有值
- python - 2013, '在查询期间失去与 MySQL 服务器的连接'
- c - 为什么宏的结果与 C 中的函数不同
- xero-api - Xero Reports:损益跟踪 ID 过滤器
- python - 从 Web 请求文本文档
- regex - Splunk:从仪表板的源代码中转义“<”>“
- excel - 按 TAB 后选择特定单元格