我正在使用 node.js 中的一个非常简单的应用程序进行测试,我在其中创建并保存了一个应用程序。我使用 newPost 函数显示帖子表单,并在 savePost 方法中收到带有数据的帖子。在后一个中,我进行了验证(使用 iform 模块),我想再次显示与以前相同的页面,但使用用户发送的数据以及发现的错误填充表单。
我有一个类似的代码。如果我发现任何错误,我会在其中呈现相同的翡翠页面。尽管我想应用模式重定向并到达那里,但它可以工作,因为我不想在用户按 F5 时再次发送发布请求。
那么,如何进行发布重定向并从发布方法获取传递我收到的所有参数并添加错误的常用方法是什么?是否有任何模块可以帮助做到这一点?
var prepareObject = function(req, res){
var errors = {};
if('iform' in req){
errors = req.iform.errors;
}
return {title: 'Nuevo Post', body:req.body, errors: errors};
};
// mapped as /newPost (type GET)
exports.newPost = function(req, res){
//show form to create post
res.render('newPost', prepareObject(req, res));
}
// mapped as /savePost (type POST)
exports.savePost = function(req, res){
if(req.iform.errors) {
//there are errors: show form again to correct errors
res.render('newPost', prepareObject(req, res));
}else{
//no errors: show posts
res.redirect('/posts');
}
}