Я хочу получить доступ к переменной на клиентском javascript, through jade, переданном по адресу form the server (node).Не удается передать вложенный объект в res.render()?
Так что я сделать вложенный объект:
var clientData =
{clientData:{
title: 'Title',
body: "body",
appadress: 'localhost' || req.host,
socketport: socketport,
} }
затем передать этот объект нефритом (via res.render) ..
app.get('/', function(req, res){
clientData.clientData.appadress = req.host;
res.render('index.jade', clientData)});
который в нефрита recieves как .. (я считаю)
clientData:{
title: 'Title',
body: "body",
appadress: 'localhost' || req.host,
socketport: socketport,
}
Тогда я мог бы передать это на клиентский javascript как объект.
script.
var clientData = #{clientData}
Но это не работает.
res.render()
Не принимать вложенные объекты, как это или что-то еще, проблема?
Спасибо за понимание. Но я не могу заставить это работать либо. Во-первых, с '! {}' Он дает ошибку «неожиданного маркера». '. (Кстати, что это делает?) Поэтому я должен опустить его 'clientData = JSON.stringify (clientData);'. А во-вторых, даже после передачи переменной после JSONifying, простой 'div = clientData' в нефрите ничего не выводит. Могу ли я, пожалуйста, беспокоить вас, чтобы опубликовать код более полного кода с кодом в jade-стороне? – laggingreflex
@laggingreflex Я обновил свой ответ, чтобы привести пример (и я также замечаю потенциальную ошибку в вашем коде) – robertklep