Veneomin
@Veneomin

Как обновить информацию на странице в nodejs?

Рендерю главную страницу:
main.get('/', function(req, res) {
    res.render('main', data);
    res.end();
}

Как мне теперь обновить информацию на этой странице? Например у меня поменялась data и я хочу срендерить страницу но уже с новой data. При попытке:
main.get('/newdata', function(req, res) {
    res.render('main', data);
    res.end();
}

Я получаю:
Error: Can't set headers after they are sent.
Я использую ejs. Хотелось бы чтобы я мог как-то рендерить содержимое страницы без ее перезагрузки и частями. Например если у меня в layout.ejs есть <%include main.ejs%>, чтобы я мог перерендерить только main.ejs
  • Вопрос задан
  • 4430 просмотров
Решения вопроса 1
BOOMER_74
@BOOMER_74
Full-Stack разработчик
Я вас огорчу, но простыми средствами эту проблему не решить. Результат рендера уже отправлен клиенту, и вы не можете его изменить (хотя странно, что появляется такая ошибка, это 2 разных ответа). Решений два:
1) Посмотреть в сторону Meteor;
2) Использовать websocket.
2й объясню: у вас обновляются данные (допустим data), вы посылаете сообщение клиенту, что есть обновленные данные с отрендереным результатом и с помощью jQuery (например) обновляете данные на странице.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы