express中提示Error: Can't set headers after they are sent但依然能正常使用?
通过express-generator生成的项目骨架,在app.js中设置路由
app.use('/add',add);
在routes/add.js中代码为:
router.get('/', function(req, res, next) {
res.render('add');
next();
});
运行程序,一旦访问/add就会在控制台中报错:
Error: Can't set headers after they are sent
但程序依然能正常使用,请问是什么引起的,怎么解决?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
res.render已经输出渲染视图了,此时不应该再调用next,会传递到下一个方法重复输出
请求响应处理流程上有问题,你在某个地方已经结束了这个req请求,比如使用了 res.end() ,但是在后续又对同样的请求继续响应。
可以
return next()
or
return res.json()
使用return 来结束