如何通过Express / Node以编程方式发送404响应?

JavaScript Node.js

2020-03-24

我想在Express / Node服务器上模拟404错误。我怎样才能做到这一点?

第3263篇《如何通过Express / Node以编程方式发送404响应?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

2个回答
斯丁 2020.03.24

更新了Express 4.x的答案

res.send(404)新方法不是在Express的旧版本中使用而是

res.sendStatus(404);

Express会发送一个非常基本的404响应,并带有“未找到”文本:

HTTP/1.1 404 Not Found
X-Powered-By: Express
Vary: Origin
Content-Type: text/plain; charset=utf-8
Content-Length: 9
ETag: W/"9-nR6tc+Z4+i9RpwqTOwvwFw"
Date: Fri, 23 Oct 2015 20:08:19 GMT
Connection: keep-alive

Not Found
神乐 2020.03.24

您不必模拟它。res.send我相信第二个参数是状态码。只需将404传递给该参数即可。

让我澄清一下:根据expressjs.org上的文档,似乎传递给的任何数字都res.send()将被解释为状态码。因此从技术上讲,您可以摆脱:

res.send(404);

编辑:我不好,我的意思res不是req应在响应中调用

编辑:从Express 4开始,该send(status)方法已被弃用。如果您使用的是Express 4或更高版本,请使用:res.sendStatus(404)代替。(感谢@badcc的评论提示)

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android