我有一个布局 - 导航菜单。在快速教程中,只有旧学校页面加载。丢弃整个旧页面并下载包含所有布局,视图和部分视图的新页面。我想要导航菜单留下来。那我该怎么做呢?
如果我对这个网页架构感到错误,请指导我。
答案 0 :(得分:11)
正如@drachenstern所说,你想只渲染部分HTML片段,而不是整个文档,包括布局。您可以使用以下命令告诉express跳过布局:
res.render('sometemplate', {layout: false});
如果您要查找与整页浏览器加载不同的Ajax请求,请使用req.xhr
标记as documented here
因此你甚至可以做到
res.render('sometemplate', {layout: !req.xhr});
答案 1 :(得分:0)
您还可以使用专门用于渲染部分的res.partial()。
以下是其用法示例,其中'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 }
});
});
};