我正在编写简单的应用程序,在服务器端,我正在使用noodejs
和connect
框架。
现在我的一个中间件中有这样的东西:
response.writeHead(302,{'Location': "/",'Content-Type': 'text/plain'});
response.end();
现在我发现状态代码和响应标题没有正确设置,但是当我添加
时response.statusCode = 302;
response.setHeader('Location', "/");
response.end();
我的旧oneliner writeHead
一切似乎都运行良好。
我是否误用了writeHead
函数,或者在我的节点版本(v0.10.15)中它是否已损坏?
答案 0 :(得分:1)
您忘记在第二个片段中执行response.end();
。
答案 1 :(得分:0)
我认为我找到了答案,在我的中间件堆栈中我添加了connect-livereload
插件,在我的Webstorm中我调试了writeHead函数,我只能通过查看代码看到:
res.writeHead = function() {};
它什么都不做,这就是为什么没有在响应中设置。
我不知道它是否是connect-livereload
中的错误。
答案 2 :(得分:0)
我是connect-livereload的作者。这实际上是一个错误,但现在已修复最新版本(0.3.1)。很抱歉给它带来不便。