express之node服务器中的send方法常见的坑!!!

express中resp.send() 和 resp.json()  这两个方法是响应像客户端发送数据,nodejs是通过流的方式来发送和接收数据的,所以,发送的时候,最终都会,resp.end()结束写入(原生nodejs代码)而resp.send()和 resp.json()两个方法都封装了 end()写入完毕方法,当然不能重复使用!

 

如果报错以下内容,肯定就是你send方法用了多次!

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
    at ServerResponse.setHeader (_http_outgoing.js:470:11)
    at ServerResponse.header (D:\GOpath\src\KirinProject\expressServer\node_modules\express\lib\response.js:767:10)
    at ServerResponse.send (D:\GOpath\src\KirinProject\expressServer\node_modules\express\lib\response.js:170:12)
    at done (D:\GOpath\src\KirinProject\expressServer\node_modules\express\lib\response.js:1004:10)
    at tryHandleCache (D:\GOpath\src\KirinProject\expressServer\node_modules\ejs\lib\ejs.js:257:5)
    at View.exports.renderFile [as engine] (D:\GOpath\src\KirinProject\expressServer\node_modules\ejs\lib\ejs.js:480:10)
    at View.render (D:\GOpath\src\KirinProject\expressServer\node_modules\express\lib\view.js:135:8)
    at tryRender (D:\GOpath\src\KirinProject\expressServer\node_modules\express\lib\application.js:640:10)
    at Function.render (D:\GOpath\src\KirinProject\expressServer\node_modules\express\lib\application.js:592:3)
    at ServerResponse.render (D:\GOpath\src\KirinProject\expressServer\node_modules\express\lib\response.js:1008:7)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值