2017-04-27 47 views
0

我很新,所以我希望我提出正确的问题,并以正确的方式接近。我试图从服务器获取数据。我已经成功地将它传递给帕格页面,但该页面上的JavaScript无法访问这些对象。这是服务器代码。另外发布的是客户端JavaScript,我无法访问传递给帕格页面的对象。如何从服务器路由获取数据到JavaScript? Nodejs Express 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

它不能这样工作,帕格允许你只处理视图,因此它直接呈现在那里的HTML视图。帕格只能渲染视图(HTML),它将无法让JavaScript有权访问可用于帕格的变量。

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

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

相关问题