2017-04-27 12 views
0

私はこれでかなり新しいので、私は正しい質問をして、これに正しい方法で近づいてほしいと思っています。私はサーバーからデータを取得しようとしています。私は正常にpugページへのルートを通過したが、そのページ上のjavascriptはこれらのオブジェクトにアクセスすることはできません。ここにサーバーコードがあります。また、私はpugページに渡されたオブジェクトへのアクセス権を持っていないクライアント側の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

このようには動作しません。Pugでは、ビューのみを処理できるため、そこに直接HTMLビューがレンダリングされます。 Pugビューのみをレンダリングできます(HTML)。pugで使用できる変数へのアクセスをjavascriptに渡すことはできません。

代わりにAjaxまたはSocket.ioを使用して、クライアント側のjavascriptコードとサーバー側で記述するjavascriptコードを接続することができます。

だから私たちはsocket.ioやajaxのような技術を持っているので、クライアント側がバックエンドと接触することができ、NodeではSocket.ioを使うことが好きです。

関連する問題