我是新手,所以我希望我提出正确的问题,并以正确的方式接近这个问题。我试图从服务器获取数据。我已成功通过一个路径到一个哈巴狗页面,但该页面上的javascript无法访问这些对象。这是服务器代码。另外发布的是客户端javascript,我无法访问传递给pug页面的对象。
router.get('/stockView', ensureAuthenticated, function(req, res, next){
var s = req.user.stocks;
var t = [];
// get array of stock symbols
for(var stock in s)
{
if (isNaN(parseInt(stock)))
{
}
else
{
s.push(req.user.stocks[stock].symbol);
}
}
//pull historic data from yahoo-finance
yahooFinance.historical({
symbols: ['AAPL','YHOO'],
from: '2012-01-01',
to: '2012-02-28',
period: 'd' // 'd' (daily), 'w' (weekly), 'm' (monthly), 'v' (dividends only)
}, function (err, quotes) {
if(err){
// do nothing
}else{
res.render('stockView', {title: 'Stock View', user: req.user, stocks: quotes, mystocks: s, tickers: t });
}
});
});
// *********javascript code in stockView.pug file****************
script(type='text/javascript').
$(function(){
var tickers = #{title};
答案 0 :(得分:0)
它没有这样的工作,Pug允许你只处理视图,因此它直接在那里呈现html视图。 Pug只能渲染视图(HTML),它无法让javascript访问可用于pug的变量。
您可以使用Ajax或Socket.io,以便客户端的javascript代码与您在服务器端编写的javascript代码相关联。
为什么我们有像socket.io和ajax这样的技术,它们允许客户端与后端联系,而Node我更喜欢使用Socket.io。