Я использую node.js и выражаю, чтобы сделать веб-приложение CRUD, и я пытаюсь выяснить, как получить флэш-сообщение в форме ввода данных при проверке на стороне сервера выходит из строя. Я использую экспресс-флеш для флеш-сообщений.Добавить флеш-сообщение для создания без потери страницы
Код проверки работы, возвращая ошибки, и я создаю мгновенное сообщение:
var errors = validateForm(req);
if(errors){
req.flash('info',errors);
res.render('edit', {messages: req.flash('info')});
}
и отобразить сообщение в файле edit.jade:
if messages.info
p #{messages.info}
Проблема заключается в том, что я редактирование конкретного объекта, а URL-адрес не редактируется, а/edit/objectID. Прибудете на странице, как это:
router.get('/edit/:id', function(req, res) {
var db = req.db;
var collection = db.get('mydb');
collection.find({ID: req.params.id},{},function(e,docs){
res.render('edit', {"object" : docs});
});
});
Можно ли добавить флэш сообщения для проверки на стороне сервера после POST были отправлено без потери идентификатора страницы? Мне не нужны все данные из редактирования, будет проверка на стороне клиента, чтобы, надеюсь, подобрать какие-либо ошибки, но я бы хотел, чтобы ошибки проверки на стороне сервера заставили пользователя приземлиться на той же странице объекта, что и они.
Я попытался это, добавляя 'res.redirect (req.get ('реферер'));' 'Перед res.render ('редактировать', {сообщения: req.flash ('информация')}); '(который находится в почтовом маршруте). Это перезагружает страницу правильно, но флэш-сообщение не отображается. – Carasel
Проверьте отредактированный ответ, чтобы решить эту проблему, если флэш-память еще не находится в промежуточном программном обеспечении. –