Sails.js – 如何从控制器呈现部分?

我有一个包含我的login表单的部分视图。 我想从ajax调用它到我的控制器。

这是我将返回我的部分视图的示例:

postlogin: function (req,res) { var username = req.param('username'); var password = req.param('password'); User.find({ username: username, password: password.salt() }).done(function(err, users){ if(users.length == 1){ // Here I want to return a partial view, not a view res.view('home/login', {message: 'Login success!'}); }else{ // Here I want to return a partial view, not a view res.view('home/login', {message: 'Login failed!'}); } }); }, 

啊! find了!

如果您的视图是局部视图,只需指定layout: null

 res.view('home/login', {message: 'Login failed!', layout: null}); 

页面底部: http : //sailsjs.org/#!documentation/views

怎么样使用多个布局?

Express 3删除了对布局的原生支持。 在Sails中,我们设法保持这个状态,但是我们并没有正式支持多种布局。 也就是说,至less在EJS中,不是使用本地布局来指定自定义布局,而必须使用_layoutFile:

 /** * HomeController */ module.exports = { index: function (req, res) { res.view({ _layoutFile: '../layouts/other.ejs' }); }, }; 

Sails v0.9.7