Каково правильное использование res.render() и res.redirect() в Express?
У меня возникают проблемы с расшифровкой двусмысленности между
res.render('viewname', {msg: 'Message' })
и
res.redirect('route')
Функция перенаправления не позволяет вам передавать "сообщение", но вы все равно можете это сделать, и функция рендеринга отобразит ваше представление, но оно не изменит URL вашего веб-приложения и не вызовет функцию, которая требуется для вашего маршрута.
Ситуация, с которой я столкнулась, заключается в том, что у меня есть форма приглашения, в которой есть действие, которое меняет мой URL-адрес, и запускает функцию на этом маршруте, которая имеет успешный и отказоустойчивый ответ, и я хотел бы перенаправить пользователей на панель мониторинга с сообщением об успехе или неудаче.
Ответы
Ответ 1
посмотрите на connect-flash, чтобы использовать стиль рельсов для стирания сообщений.
res.render() отобразит представление с переданными ему данными, res.redirect() перенаправит пользователя на другую страницу (после чего начинается запрос)