Как мне автоматизировать рендеринг страницы с разными параметрами рендеринга каждые 5 минут или около того? Можно ли сделать так, чтобы я мог сидеть на странице индекса и указанные поля обновлялись бы через указанные интервалы?
В настоящее время мне удалось отобразить эту информацию только с помощью различных маршрутов "/" и "labs" и путем ручного доступа к ним. Данные, которые я пытаюсь изменить с каждым GET, находятся между uniTimes [0] .lectures и uniTimes [1] .labs, а также при каждом рендеринге я меняю данные в переменных blockHeights и verticalPosition.
Получить запрос, который указывает на страницу индекса:
router.get('/', function(req, res, next) {
// Lectures/Lab Works times object array
var uniTimes = [
{
lectures: [
{
title: "Information System Security",
classroom: "503a.",
start: "1995-12-17T08:00:00",
end: "1995-12-17T09:15:00"
},
{
title: "Project Management",
classroom: "117a.",
start: "1995-12-17T08:30:00",
end: "1995-12-17T09:30:00"
},
{
title: "Audiovisual Art",
classroom: "228a.",
start: "1995-12-17T09:45:00",
end: "1995-12-17T12:00:00"
}
]
},
{
labs: [
{
title: "Graphic Design",
classroom: "505a.",
start: "1995-12-17T09:15:00",
end: "1995-12-17T10:15:00"
},
{
title: "Special Effects",
classroom: "228a.",
start: "1995-12-17T11:30:00",
end: "1995-12-17T12:00:00"
},
{
title: "Robotics",
classroom: "513a.",
start: "1995-12-17T08:45:00",
end: "1995-12-17T09:30:00"
}
]
}
]
//Displayed lecture/lab work block size
var blockHeights = ["250px", "200px", "450px"];
//Displayed lecture/lab work block position
var verticalPosition = ["0px", "100px", "350px"];
res.render('index', { title: 'Express Application', subTitle: 'Student Timetables Display', uniTimes: uniTimes[0].lectures, blockHeights: blockHeights, verticalPosition: verticalPosition });
});
Указатель страницы Ejs:
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1><%= title %></h1>
<p>Welcome to <%= subTitle %></p>
<a href="/admin">Go to admin panel</a>
<br>
<br>
<% for(var i = 0; i < uniTimes.length; i++) { %>
<div style="float:left; width: 150px; margin-right: 25px; height: <%= blockHeights[i] %>; background-color: red; margin-top: <%= verticalPosition[i] %>">
<h3><%= uniTimes[i].title %></h3>
<h4><%= uniTimes[i].classroom %></h4>
<h4><%= uniTimes[i].start %></h4>
<h4><%= uniTimes[i].end %></h4>
</div>
<% } %>
</body>
</html>