博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Express: Can’t set headers after they are sent.
阅读量:4087 次
发布时间:2019-05-25

本文共 1321 字,大约阅读时间需要 4 分钟。

“Can’t set headers after they are sent.” => “不能发送headers因为已经发送过一次了” => 在处理HTTP请求时,服务器会先输出响应头,然后再输出主体内容,而一旦输出过一次响应头(比如执行过 res.writeHead() 或 res.write() 或 res.end()),你再尝试通过 res.setHeader() 或 res.writeHead() 来设置响应头时(有些方法比如 res.redirect() 会调用 res.writeHead()),就会报这个错误。

(说明:express中的 res.header() 相当于 res.writeHead() ,res.send() 相当于 res.write() )

方法:在一个回调函数前边应该加一个return,谢谢。。

User.get = function(username, callback) {
// body... mongodb.open(function(err, db) {
if (!err) { console.log("We are connected"); db.collection('users', function(err, collection) {
collection.find().toArray(function(error, users) {
console.log(users); }); collection.findOne({ name: username }, function(error, doc) {
console.log('username' + doc); if (doc) { var user = new User(doc); console.log("findOne:"+User); mongodb.close(); //callback(err, user); return callback(err, user); } mongodb.close(); //callback(err, user); return callback(err, user); }); }); } });};

转载地址:http://ndfii.baihongyu.com/

你可能感兴趣的文章
移植Vim配色方案到Eclipse
查看>>
谈谈加密和混淆吧[转]
查看>>
TCP的几个状态对于我们分析所起的作用SYN, FIN, ACK, PSH,
查看>>
网络游戏客户端的日志输出
查看>>
关于按钮的mouseOver和rollOver
查看>>
Netty框架
查看>>
Socket经验记录
查看>>
对RTMP视频流进行BitmapData.draw()出错的解决办法
查看>>
FMS 客户端带宽计算、带宽限制
查看>>
SecurityError Error 2148 SWF 不能访问本地资源
查看>>
Qt 静态编译后的exe太大, 可以这样压缩.
查看>>
3D游戏常用技巧Normal Mapping (法线贴图)原理解析——基础篇
查看>>
乘法逆元
查看>>
Objective-C 基础入门(一)
查看>>
Objective-C 基础入门(三) 读写文件与回调
查看>>
C++ STL标准库与泛型编程(一)概述
查看>>
C++ STL标准库与泛型编程(四)Deque、Queue、Stack 深度探索
查看>>
C++ STL标准库 算法
查看>>
JVM内存模型_Minor GC笔记
查看>>
SpringCloud学习之PassCloud——(一)PassCloud源代码下载
查看>>