【发布时间】:2019-03-26 03:50:13
【问题描述】:
我收到以下错误:
Error: Can't set headers after they are sent.
at validateHeader (_http_outgoing.js:491:11)
at ServerResponse.setHeader (_http_outgoing.js:498:3)
at Array.write (D:\UberGo\node_modules\finalhandler\index.js:285:9)
at listener (D:\UberGo\node_modules\on-finished\index.js:169:15)
at onFinish (D:\UberGo\node_modules\on-finished\index.js:100:5)
at callback (D:\UberGo\node_modules\ee-first\index.js:55:10)
at IncomingMessage.onevent (D:\UberGo\node_modules\ee-first\index.js:93:5)
at emitNone (events.js:106:13)
at IncomingMessage.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:139:11)
at process._tickCallback (internal/process/next_tick.js:181:9)
我的控制器:
app.get('/rider/history', function(request, response,next) {
rideHistory=[];
rhController.getAllRides(request.session.riderId, function (err, result) {
if (err) return handleError(err);
if (result.length > 0) {
response.render('rider_history.html',{
rideHistory: JSON.stringify(result),
Title: config.title.history,
moment: moment
});
response.end();
}
});
var Projection = {
__v : false,
_id : false,
};
exports.getAllRides = function(riderId, callback){
rideHistory.find({RiderId: riderId},Projection, callback);
};
当我渲染我的页面时,它工作正常,但在调用JSON.stringify() 后,我收到了上述错误。我不知道如何解决它或我做错了什么?
我想在 Google 地图中显示骑手数据,但返回的数据没有格式化。- 这就是我必须使用 JSON.stringify(stringify) 的原因。
【问题讨论】: