Разрабатываю небольшое приложение, но опыта в серверном програмировании нету. Приложение на node.js, шаблонизатор ejs.
Нужно чтобы было так:
1. При входе запрашивает логин/пароль.
2. Если верно - показывает главную страницу.
3. Пользователь вводит данные, отправляет их через ajax.
4. Сервер получив запрос изменяет вид этой страницы (данные на ней).
Что есть сейчас:
При входе ("/") index.js:
router.get('/', function(req, res) {
if (req.signedCookies.rememberme == 'registered') {
var register = true
res.render('index', { register:register });
} else {
var register = false;
res.render('index', { register:register });
}
});
Код шаблона:
<% if (register == false) { %>
<%= include login.ejs %>
<% } %>
<% if (register == true) { %>
<%= include main.ejs %>
<% } %>
Пользователь попадает на login.ejs, так как не зарегистрирован. Там вводит логин/пароль и происходит сверка с базой. Если такой пользователь с паролем есть - записываю cookie:
res.cookie('ImRegistered', 'registered', { maxAge: 900000, signed: true })
И обновляю страницу. Теперь index.js нас пускает (видит что мы авторизировались по cookie) и мы получаем страницу контента. Чтобы разлогинится - удаляю куки.
Это правильно или за такое горят в аду?
Теперь нужен пункт 4. Как мне изменять уже отрендереную страницу? После того как я 1й рас отдал
res.render('index', { register:register, somevar: 'someval' });
2й вызов этого же кода не работает. Как мне обновлять что либо? Например я хочу обновить main.ejs который заинклужен на странице.