2
のために同じデータを使用して、私は、スキーマモジュールとして次のコードを持っている:ジェイドにJSONを渡すと、APIアクセス
router.get('/', function(req, res) {
Module.find(function (err, modules) {
if (!err) {
return res.json(modules);
} else {
res.statusCode = 500;
log.error('Internal error(%d): %s', res.statusCode, err.message);
return res.json({
error: 'Server error'
});
}
});
});
そして、これは私のAPIのために正常に動作しますが、私はまた、このデータを使用しようとしているがそれを私のJadeテンプレートにロードする。
var modules = require('./routes/modules');
// home page
app.get('/', function(req, res) {
res.render('index', { modules: modules })
});
app.use('/api/modules', modules);
これはうまくいきませんが、それが存在しないかのように(ログに記録されている場合)私には未定義です。
私は次のように私のルータを変更する場合:
res.render('index', {
modules: modules
})
私のAPIを介してアクセスするときには、データを取得するための罰金ではなく動作します。
私の質問では、この特定のコードをAPIに使用して、それをJadeテンプレートにレンダリングする方法を教えてください。
次はなぜ使用しますか? 2つの別々のメソッドを持つのとは対照的に、res.sendの両方の作業を使用していますか? – DennisTurn
res.sendはres.renderとは異なります。私はコードを更新しました。 – Vivasaayi