2016-06-22 9 views
1

私は、express.jsを使用してSQLクエリからデータを含む配列を取得するためにいくつかの異なる方法を試してきました。翡翠のテンプレート。私は何とかそう多くの異なる方法を読むことによってプロセスを何とか巻き返しましたが、私は基本的な概念を理解していません。関数からjade/express.jsページへのクエリデータの返信

私は基本的に、DB2データベースへの接続を作成し、行を配列に格納するfetchDataという関数を持つapp.jsを持っています。コンソールログに正常に出力されていることがわかりました。私の問題は、expressとJadeによって生成されたWebページにその配列を戻すことにあります。私は、チュートリアルを使用し、使用して基本的なページを作成しました:

その後
router.get('/', function(req, res, next) { 
    res.render('index', { title: 'Express'}); 
}); 

私が試した:

module.exports = router; 

exports.init = fn1.fetchData(); 

exports.list = function (req ,res) { 
    res.render('iData', { 'iData': dData }); 
} 
をしかし、私はしようとすると、これは確かに権利いないようですし、機能していませんヒスイのテンプレートを使用してそれを表示:

extends layout 

block content 
    h1= title 
    p Howdy, welcome to #{title} 
    ul 
    for val in iData 
     li= val 

誰もが私がやろうとしている何をして良いガイドや方法を知っていますか?それはかなり基本的なようだ、私はちょうど材料(ノード、エクスプレス、ヒスイ)を正しく使用していない。

+0

あなたの 'dData'はどこから来たのですか? – malix

+0

@malixアプリケーションの.jsの配列に行を解析する文があります。 'else { var dData = new Array(); for(var i = 0; i Smitty

答えて

1

たぶん、あなたの不足しているタイトルの変数は、それをめちゃくちゃにされています

app.js

exports.list = function (req ,res) { 
    res.render('iData', { 'iData': dData, title: 'something' }); 
} 

iData.jade

h1= title 
p Howdy, welcome to #{title} 
ul 
    for val in iData 
    li= val 

はジェイドの部分が正常に動作するようです: https://codepen.io/anon/pen/LZWYqx

関連する問題