如何使用 Node.js / Express 发回响应标头?
我正在使用 res.send
,无论如何,它都会返回 200 的状态。我想针对不同的响应(错误等)将该状态设置为不同的数字,
这是使用 express< /代码>
I'm using res.send
and no matter what, it returns status of 200. I want to set that status to different numbers for different responses (Error, etc)
This is using express
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
要在发送之前添加响应标头,您可以使用setHeader方法:
仅通过status方法添加状态:
两者同时使用 writeHead 方法:
For adding response headers before send, you can use the setHeader method:
The status only by the status method:
Both at the same time with the writeHead method:
http://nodejs.org/docs/v0.4.12/api /http.html#response.writeHead
http://nodejs.org/docs/v0.4.12/api/http.html#response.writeHead
我假设您正在使用像“Express”这样的库,因为 Nodejs 不提供
res.send
方法。正如 Express 指南 中一样,您可以将第二个可选参数传递给发送响应状态,例如:
I'll assume that you're using a library like "Express", since nodejs doesn't provide a
res.send
method.As in the Express guide, you can pass in a second optional argument to send the response status, such as:
由于问题还提到了 Express,因此您也可以使用中间件以这种方式完成此操作。
Since the question also mentions Express you could also do it this way using middleware.
您应该使用 setHeader 方法和 status 方法来达到您的目的。
解决方案:
You should use setHeader method and status method for your purpose.
SOLUTION:
在 send() 调用之前设置 statusCode var
set statusCode var before send() call
在 express (4.x) 的文档中, res.sendStatus 用于发送状态代码定义。正如此处提到的,每个都有具体的描述。
In the documentation of express (4.x) the res.sendStatus is used to send status code definitions. As it is mentioned here each has a specific description.
我将其与express一起使用
,而在没有express的情况下使用它(普通http服务器)
i use this with express
and this without express (normal http server)