如何从服务器路由获取数据到javascript? Nodejs Express pug

时间:2017-04-27 10:35:16

标签: javascript node.js express pug

我是新手,所以我希望我提出正确的问题,并以正确的方式接近这个问题。我试图从服务器获取数据。我已成功通过一个路径到一个哈巴狗页面,但该页面上的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};

1 个答案:

答案 0 :(得分:0)

它没有这样的工作,Pug允许你只处理视图,因此它直接在那里呈现html视图。 Pug只能渲染视图(HTML),它无法让javascript访问可用于pug的变量。

您可以使用Ajax或Socket.io,以便客户端的javascript代码与您在服务器端编写的javascript代码相关联。

为什么我们有像socket.io和ajax这样的技术,它们允许客户端与后端联系,而Node我更喜欢使用Socket.io。