Как передать данные из кода сервера в шаблон ejs? - PullRequest
1 голос
/ 04 июня 2019

У меня есть простой сервер, и я отлично получаю данные по URL через браузер. Я пытаюсь получить данные в моем шаблоне ejs.

Вот как я получаю данные:

app.get('/some', function(req, res, next) {
var size = 3;
var curr = req.query.page || 1;

var allSome = Object.assign([], jsFile.some);
some = allSome.slice((curr - 1) * size, curr * size);

some = some.map(function(som) {
    var mapSome = Object.assign({}, som);
    delete mapSome.var1;
    delete mapSome.var2;
    return mapSome;
});

return res.json({
    some: some,
    total: allSome.length,
});
});

Вот как я пытаюсь передать данные:

app.get('/some', function (req, res, next) {
    res.render('events', {data : res.json.some});
});

Вот как я пытаюсь получить данные:

<ul>
    <% data.forEach(function(dat) { %>
    <li><%= dat.var3 %></li>
    <li><%= dat.var4%>
    <% }); %>
</ul>

Но я получаю:

Невозможно прочитать свойство 'forEach' из неопределенного

Я новичок в ejs и front end. Буду очень признателен, если кто-нибудь поможет мне в этом.

1 Ответ

1 голос
/ 04 июня 2019

Этот блок кода ответит с json, а не передаст его следующему middleware

return res.json({
  some: some,
  total: allSome.length,
});

Замена вышеуказанного блока следующим:

res.render('events', {data : some});
...