请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Can't set headers after they are sent

老师我想问一下,为什么下面这样的代码,会在服务器中报
Can’t set headers after they are sent
的错误,而且服务器会自己关掉。

//这段代码会报错
res.json({
	msg:'success' ,
	result:doc
})
res.cookie("userId",doc[0].userId,{
	path:'/',
	maxAge:1000*60*60
});

但是如果我把res.cookie()放在res.json()前面的话就不会出现这种问题。
为什么呢?

//这样反而不会
res.cookie("userId",doc[0].userId,{
	path:'/',
	maxAge:1000*60*60
});
res.json({
	msg:'success' ,
	result:doc
})

正在回答 回答被采纳积分+3

1回答

河畔一角 2019-03-02 20:31:17

因为res.json是最终的结果输出,可以理解为return,那后面的代码全部不会执行。

0 回复 有任何疑惑可以回复我~
  • 提问者 Ecomools #1
    谢谢老师,但我还有个疑问。就是如果只有res.json(),而没有res.cookie()的话,应该也是可以运行的吧,那既然后面这个res.cookie()都不执行了,为什么还会报错呢?
    回复 有任何疑惑可以回复我~ 2019-03-02 20:39:13
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号