【问题标题】:how to redirect from a view in keystone.js如何从 keystone.js 中的视图重定向
【发布时间】:2016-02-11 20:46:59
【问题描述】:

从 keystone.js 视图中重定向的正确方法是什么?

我有这个用例:

//req, res are the express request and response objects defined earlier
view.on('init', function(next){
 if (req.params['should-be-else-where']='true'{
    // do some logging stuff 
    // redirect to somewhere else
  }
});

据我了解,view.on() 函数中的下一个参数是 async.js 框架的回调,与 (req,res,next) 中间件无关。

我应该调用res.redirect('/somewhere-else),然后调用next(),然后使用非空错误参数调用next(),还是应该在完全不同的地方执行重定向?

附加信息:我想停止处理,因为没有理由在队列后面进行性能繁重的数据库处理

【问题讨论】:

    标签: async.js keystonejs


    【解决方案1】:

    如果您不需要视图但仅在满足条件时重定向,您可以这样做:

    module.exports = function (req, res, next) {
    
        if (req.params['should-be-else-where']) {
            // do some logging stuff 
            res.redirect('/somewhere-else');
        } else {
            var view = new keystone.View(req, res);
            // do something else then render the view
        }
    
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    • 2019-10-02
    • 1970-01-01
    • 2020-12-26
    • 2017-09-30
    相关资源
    最近更新 更多