【问题标题】:How do I get data from server route to javascript? Nodejs Express pug如何从服务器路由获取数据到 javascript? Nodejs Express 哈巴狗
【发布时间】:2017-04-27 10:35:16
【问题描述】:

我对此很陌生,所以我希望我问的是正确的问题,并以正确的方式解决这个问题。我正在尝试从服务器获取数据。我已经成功地将它通过路由传递到了一个哈巴狗页面,但是该页面上的 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};

【问题讨论】:

    标签: javascript node.js express pug


    【解决方案1】:

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

    您可以改用 Ajax 或 Socket.io,以便您在客户端的 javascript 代码与您在服务器端编写的 javascript 代码连接。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-13
      • 1970-01-01
      • 2023-01-14
      • 2015-05-22
      相关资源
      最近更新 更多