11

我有一个包含我的登录表单的部分视图。我想将它从 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!'});
        }
    });
  },
4

2 回答 2

20

啊! 找到了!

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

res.view('home/login', {message: 'Login failed!', layout: null});
于 2013-08-16T02:54:38.680 回答
5

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

使用多个布局怎么样?

Express 3 删除了对布局的原生支持。在 Sails 中,我们设法保留了这一点,但我们并未正式支持多种布局。也就是说,至少在 EJS 中,您必须使用 _layoutFile,而不是使用本地布局来指示您的自定义布局:

/**
 * HomeController
 */
module.exports = {

    index: function (req, res) {
        res.view({
            _layoutFile: '../layouts/other.ejs'
        });
    },

};

帆 v0.9.7

于 2013-11-03T08:22:29.147 回答