Как обновить информацию на странице в 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 есть , чтобы я мог перерендерить только main.ejs

21 Авг 2019 в 07:08
222 +1
1
Ответы
1

Для обновления информации на странице без перезагрузки можно воспользоваться технологией AJAX. Вместо того, чтобы пытаться перерендерить всю страницу, вы можете отправить запрос на сервер, получить новые данные и обновить только определенную часть страницы.

Примерно так можно изменить ваш код:

Измените маршрут '/newdata' на отправку данных в формате JSON:main.get('/newdata', function(req, res) {
res.json(data);
});В вашем клиентском JavaScript коде (например, с использованием jQuery) сделайте AJAX запрос на маршрут '/newdata' и обновите нужные части страницы:$.get('/newdata', function(newData) {
// Обновите содержимое страницы с новыми данными
});

Таким образом, вы сможете обновлять информацию на странице без перезагрузки и перерендеринга всей страницы.

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 89 837 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир