控制器响应玉器在节点中重新渲染

尼库尼·索伯哈莎娜

这是我模型的一部分

router.get('/subscription', function (req, res, next) {
    var membership = require('../controllers/membership.js');
   var jData = membership.getAll(req, res);
   res.render('subscription', { title: 'Subscription', data : jData });
});

这是我controller.js的一部分

var db = require('../db.js');

module.exports = {
    //home: function (req, res, next) {
    //    res.send('home page');
    //},
    insert: function (req, res) {
        var body = req.body; //_.pick(req.body, 'description', 'completed');

        db.membership.create(body).then(function (membership) {
            res.json(membership.toJSON());
        }, function (e) {
            res.status(500).json(e);
        });
    },
    updateById: function (req, res, next) {
        //var Id = parseInt(req.params.id, 10);
        var body = req.body;

        db.membership.update(body, { where: { id: parseInt(_.propertyOf(body)('id'), 10) } }).then(function (membership) {
            if (!!membership) {
                res.json(membership.toJSON());
            } else {
                res.status(404).send();
            }
        }, function (e) {
            res.status(500).json(e);
        });
    },
    deleteById: function (req, res, next) {
        //var Id = parseInt(req.params.id, 10);
        var body = req.body;

        db.membership.destroy({ where: { id: parseInt(_.propertyOf(body)('id'), 10) } }).then(function (membership) {
            if (!!membership) {
                console.log('The Row with the Id : ' + _.propertyOf(body)('id') + ' deleted successfully!');
            } else {
                res.status(404).send();
            }
        }, function (e) {
            res.status(500).json(e);
        });
    },
    deleteAll: function (req, res, next) {
        db.membership.truncate().then(function () {
            console.log('All rows deleted successfully!');
        }, function (e) {
            res.status(500).json(e);
        });
    },
    getById: function (req, res) {
        var Id = parseInt(req.params.id, 10);

        db.membership.findById(Id).then(function (membership) {
            if (!!membership) {
                console.log('\n\nMEMBERSHIP : ' + JSON.stringify(membership.toJSON()));
                res.json(membership.toJSON());
                //return membership.toJSON();
            } else {
                res.status(404).send();
            }
        }, function (e) {
            res.status(500).send();
        });

    },
    getAll: function (req, res) {

        var where = {};

        db.membership.findAll({
            where: where
        }).then(function (membership) {
            res.json(membership.toJSON());
        }, function (e) {
            res.status(500).send();
        });

    }
}; 

我正在尝试在模型数据中获取Aal数据,因此控制器中没有问题,但res.render函数数据无法传递给Jade。根据我的说法,res.render函数在jdata变量填充之前调用。关于它的任何解决方案都告诉我。提前致谢

米歇尔

您不能两次发送响应,如果您在控制器中发送res,则无法在模型中再次发送,您应该使用回调:

控制器:

getAll: function(cb) {
    var where = {};
    db.membership.findAll({
        where: where
    }).then(function(membership) {
        cb({
            data: membership.toJSON()
        });
    }, function(e) {
        cb({
            error: e
        });
    });
}

模型:

router.get('/subscription', function (req, res, next) {
    var membership = require('../controllers/membership.js');
    var jData = membership.getAll(function (cb) {
        if (cb.error) res.status(400).send();
        res.render('subscription', { title: 'Subscription', data : cb.data });
    });
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在角度控制器中重新渲染ng表

来自分类Dev

在角度控制器中重新渲染ng表

来自分类Dev

延迟控制器渲染

来自分类Dev

从控制器渲染文件

来自分类Dev

Google云中的Slurm群集:控制器/登录节点中已安装目录中的数据在计算节点中不可用

来自分类Dev

Symfony的SwiftMailer:如果控制器不返回$这个 - >渲染不发送()响应

来自分类Dev

灰烬控制器,promise和响应用户搜索可能重新呈现的模板

来自分类Dev

Rails:直接从控制器渲染HTML。

来自分类Dev

Rails从控制器渲染部分

来自分类Dev

渲染模板的余烬控制器

来自分类Dev

在不同的控制器中渲染部分

来自分类Dev

树枝:渲染控制器vs宏

来自分类Dev

Rails:从外部控制器渲染视图

来自分类Dev

更改控制器的自动渲染

来自分类Dev

设置模板渲染控制器

来自分类Dev

渲染模板的余烬控制器

来自分类Dev

使用参数渲染不同的控制器

来自分类Dev

从控制器内部渲染Angularjs模板

来自分类Dev

从插件控制器渲染页面

来自分类Dev

树枝内的多个渲染控制器

来自分类Dev

异步控制器渲染数据

来自分类Dev

Rails控制器索引渲染验证

来自分类Dev

VLC 控制器不渲染视频

来自分类Dev

如何从控制器渲染 nunjucks 模板

来自分类Dev

Sitecore视图渲染和控制器渲染帮助器

来自分类Dev

Devstack安装控制器节点

来自分类Dev

暂停控制器并等待服务响应

来自分类Dev

重新加载AngularJS控制器

来自分类Dev

控制器上的渲染与视图中的渲染相同吗?如何从控制器调用“视图”渲染?