2017-04-27 48 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。

相關問題