0
我正在使用node.js中的一個非常簡單的應用程序進行測試,在該應用程序中創建並保存應用程序。我使用newPost函數顯示帖子表單,並使用savePost方法中的數據接收帖子。在後者中,我做了一個驗證(使用iform模塊),我想再次顯示與之前相同的頁面,但是填寫了用戶發送的數據以及發現的錯誤。如何應用post重定向並獲取node.js中的模式?
我有一個類似這樣的代碼。如果我發現任何錯誤,我會渲染相同的玉頁。它可以工作,但我想應用模式重定向併到達那裏,因爲我不想在用戶按F5時再次發送發佈請求。
那麼,通常的方式來做一個帖子重定向,並從post方法獲取傳遞給我的所有參數添加錯誤?有沒有可以幫助你做到的模塊?
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');
}
}
支票快遞驗證器 – chovy
@chovy我想要一個答案不依賴於一個特殊的模塊。例如,我也想應用Post-redirect-get而無需驗證。 – Juanillo
我相信PRG只適用於成功的表單提交。當發生驗證錯誤時,您可以呈現頁面。 –