node.js Express – 如何asynchronous获取部分视图

我有一个布局 – 导航菜单。 在快递教程中,只有老派的网页正在加载。 整个旧页面被丢弃,并且新的页面被下载,具有所有布局,视图和部分视图。 而我想要导航菜单留下来。 那我该怎么做呢?

如果我可能得到这个网页架构错误,请指导我。

正如@drachenstern所说,你只想渲染部分HTML片段,而不是整个文档,包括布局。 您可以使用以下方法告诉express以跳过布局:

res.render('sometemplate', {layout: false}); 

如果您希望查看与完整页面浏览器加载不同的Ajax请求,请使用此处所述的req.xhr标志

这样你甚至可以做到

 res.render('sometemplate', {layout: !req.xhr}); 

你也可以使用res.partial(),它专门用于渲染partials。

以下是其用法示例,其中“browse.jade”是模板的名称:

 exports.browse = function(req, res){ var Contact = mongoose.model('Contact'); Contact.where({}).asc('surname', 'given_name', 'org').run(function(err, results) { res.partial('browse', { locals: { data: results } }); }); };