nodejs + connect - writeHead不工作

时间:2013-11-05 14:15:02

标签: node.js http http-headers

我正在编写简单的应用程序,在服务器端,我正在使用noodejsconnect框架。

现在我的一个中间件中有这样的东西:

response.writeHead(302,{'Location': "/",'Content-Type': 'text/plain'});
response.end();

现在我发现状态代码和响应标题没有正确设置,但是当我添加

response.statusCode = 302;
response.setHeader('Location', "/");
response.end();

我的旧oneliner writeHead一切似乎都运行良好。

我是否误用了writeHead函数,或者在我的节点版本(v0.10.15)中它是否已损坏?

3 个答案:

答案 0 :(得分:1)

您忘记在第二个片段中执行response.end();

答案 1 :(得分:0)

我认为我找到了答案,在我的中间件堆栈中我添加了connect-livereload插件,在我的Webstorm中我调试了writeHead函数,我只能通过查看代码看到:

res.writeHead = function() {};

它什么都不做,这就是为什么没有在响应中设置。

我不知道它是否是connect-livereload中的错误。

答案 2 :(得分:0)

我是connect-livereload的作者。这实际上是一个错误,但现在已修复最新版本(0.3.1)。很抱歉给它带来不便。