2
私はエクスプレスアプリを作成しています。ルータではmongodbからデータを取得します。私は、コードを実行し、ブラウザでURLを開くと、ここに私のコードはExpressでエラーが発生しました:送信後にヘッダーを設定できません
router.get('/', function(req, res, next) {
MongoClient.connect(url, function(err, db) {
db.collection('school').find({}).toArray(function(err, doc) {
assert.equal(null, err);
assert.ok(doc != null);
res.render('index', { title: 'iGyan.org', schools: doc});
});
db.collection('students').find({}).toArray(function(err, doc) {
assert.equal(null, err);
assert.ok(doc != null);
res.render('index', { title: 'iGyan.org',students: doc});
});
db.close();
});
});
あり、それは、私がスタックオーバーフローに尋ねたほぼすべての提案、質問を見てきました
Error: Can't set headers after they are sent.
を記載し、コンソール上で私にエラーを与えますしかし、それから助けを得ることはできません。
私は、関数内でresを2回レンダリングしているが、状況を克服する方法がわからないため、エラーが発生しています。
をしかし、私はデータを慰めるとき、それは私を与えます{}。 –
@ iGyan.Org申し訳ありませんが、レンダリングを適切な場所に移動しました。 –
まだデータが{}になっています。 –