Как обновить информацию на странице в 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
264 +1
1
Ответы
1

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

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

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

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

20 Апр 2024 в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир