CNode

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

Llazyfish88发布于12 年前最后回复12 年前7 回复9030 浏览0 收藏

部分代码如下


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

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

查看回复

回复 (7)

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

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

C
CarlosRen#2·12 年前

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

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

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

W
wangxuq#4·12 年前

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

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

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

N
nodejser#6·12 年前

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

A
alsotang#7·12 年前

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

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