Передача объектов клиенту в node + express + jade?

У меня есть довольно тяжелый запрос на сервере, который приводит к рендерингу новой страницы, и я хотел бы передать некоторые результаты запроса клиенту (в виде массива объектов javascript ). Это в основном так, что мне не нужно позже выполнять отдельный запрос JSON, чтобы получить тот же контент (который в основном статичен). В конечном итоге данные будут полезны, но не изначально, поэтому я не помещал их прямо в документ.

app.get('/expensiveCall', function(req, res) {
    // do expensive call
    var data = veryExpensiveFunction();
    res.render('expensiveCall.jade', {
        locals: {
                data: data,
                }
        });
    });
});

data - это массив объектов, и только некоторые из них используются изначально. Я хотел бы передать либо все данные, либо некоторые подмножества (в зависимости от ситуации). Мой нефрит выглядит как обычный нефрит, но я хотел бы добавить что-то вроде

<script type="text/javascript">
var data = #{data};
</script>

, но это не работает (это массив объектов).

42
задан killermonkeys 7 October 2011 в 00:00
поделиться