如何在 Express+Node.js 中发送一些 HTML、渲染视图,然后发送更多 HTML?
我正在使用 Node.js+Express,我遇到过一种情况,我需要发送一些 HTML,渲染一个视图,然后在一个响应中发送更多 HTML。
流程是:
res.send('some html');
res.render('module.html', {});
res.send('more html');
现在我知道 res.render
支持回调,所以我可以这样做:
res.render('module.html', {}, function () {
res.send('more html');
});
但是 res.send()
似乎不支持。有办法实现这一点吗?
I'm using Node.js+Express, and I've come across a case where I need to send some HTML, render a view, then send some more HTML in the one response.
The flow would be:
res.send('some html');
res.render('module.html', {});
res.send('more html');
Now I know that res.render
supports a callback, so I could do:
res.render('module.html', {}, function () {
res.send('more html');
});
But res.send()
doesn't appear to. Is there a way to achieve this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
就像 Raynos 所说,我建议查看查看部分。作者 TJ 的此视频介绍了基础知识。
作为旁注,
res.send
发送完整的响应,然后关闭连接。如果您想在此之后发送更多文本,则不能使用它。所以您必须使用节点.js 原生 res.write 来执行您的操作想要代替。
Like Raynos Said I would recommend looking into view partials. This video from Author TJ explains the basics.
As a sidenote
res.send
send a full response and then closes the connection. You can not be using that if you want to send more text after that.So you have to use node.js native res.write to do what you want instead.