跳到主要内容
CNode

求教。。为什么return res.redirect(xxxx)后。。代码还会继续执行之后的代码??

社区
Llazyfish88发布于 12 年前最后回复 12 年前
790660

部分代码如下


	return res.redirect('/reg');
	console.log("-------POST-------")
	res.redirect('/reg');

执行后有输出"-------POST-------",,并报Error: Can't set headers after they are sent.的异常。因为重复发送页面请求了。。求解决方法

查看回复

回复 (7)

N
nodejser#712 年前

我不知道redirect执行什么操作,但根据我的猜测,应该是执行客户端重定向,客户端重定向是往http响应头中加入location之类的代码,这部分是通过头发送的,估计在你的redirect以前已经发送过http响应头了。。 这个信息也是提示http头已经发送后无法再设置 http响应头。

S
subverter16#612 年前
引用 alsotang这个很奇怪。贴多点代码看看?

@lazyfish88 发完整代码吧。。。无法复现啊!

W
wangxuq#512 年前

这个return后边的语句永远也不会执行的,因为return已经将整个作用于后边的代码割掉了。就像java里面的一样。你看一下是不?

L
leizongmin#412 年前
引用 alsotang这个很奇怪。贴多点代码看看?

@lazyfish88 发完整代码……(正因为你觉得没什么特别,所以你找不出原因)

C
CarlosRen#312 年前

个人感觉是 console.log()都能输出

L
lazyfish88#212 年前
引用 alsotang这个很奇怪。贴多点代码看看?

其它的代码没什么特别的。。就是nodejs开发指南里的那个例子。。哎。。

A
alsotang#112 年前

这个很奇怪。贴多点代码看看?

参与回复

登录后即可参与回复。登录