//router
app.get('/retrieve_report', function(req, res) {
var retrieved = retrieve_report(req, res);
res.render('retrieve_report.ejs', {
'report' : retrieved
});
});
//Load up the report model
var Report = require('../models/report');
console.log('Report ' + Report.schema);
//expose this function to our app using module.exports
//query
module.exports = function(req, res) {
//console.log('param ' + res.send);
var query = Report.findById(req.param('id'), function(err, doc) {
if(err) {
throw err;
}
else {
console.log('doc ' + JSON.stringify(doc));
res.send(doc);
}
});
}
//app.js
var retrieve_report = require('./config/retrieve_report');//which is the above code
我想将文档返回到路由器,以便将其信息放入我的视图中。我尝试了“res.json(doc),但这给了我错误,”抛出新的错误('不能在发送后设置标题。');“每个人都说要使用回调函数,但不是我在这里使用回调函数?
答案 0 :(得分:0)
正如您的错误所说:
but that gave me the error, "throw new Error('Can\'t set headers after they are sent.');"
表示您尝试两次发送数据。
示例代码:
app.get('/retrieve_report', function(req, res) {
var query = Report.findById(req.param('id'), function(err, doc) {
if(err) {
throw err;
}
else {
console.log('doc ' + JSON.stringify(doc));
res.send(doc);
}
});
这应该有用..