如何通过ExpressJS删除错误响应消息中的附加HTTP代码

时间:2017-03-19 11:29:07

标签: node.js express

我正在使用nodejs的Express JS

使用此代码向浏览器发送内部错误消息:

res.status(500).send('Something happen');

我在开发工具中检查响应主体,它看起来像这样:

{"message":"500 - \"Something happen\""}

代码如下:

var express = require('express');
var router = express.Router();

router.post('/', function(req, res){
   var aPromise = /* implementation here*/     
   aPromise.then(function(user) {
     // Do success implementation
     res.send('OK')
   }, function(err) {
     res.status(500).send('Somethin happen');
   });
});

我正在使用“express”:“^ 4.14.0”。 我针对chrome和firefox测试它,并检查他们的开发工具。

如何从邮件中删除状态代码500?

1 个答案:

答案 0 :(得分:0)

什么版本的Express,以及dev tool?当我做的时候

res.status(500).send('Something happen');

...查看整个HTTP响应,我只在响应正文(数据)中看到Something happen,而500只是响应标题的一部分。
也许它是开发工具的开发工具?

这是我使用的测试代码,Express版本4.15.2:

var express = require('express');
var app = express();

app.get('/', function(req, res){
  res.status(500).send('Something happen');
});

app.listen(3000);

...这是我得到的整个HTTP响应,由curl -D - localhost:3000

打印
HTTP/1.1 500 Internal Server Error
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 16
ETag: W/"10-qnwQHvmonx8cVv/OMBPmaKQDE64"
Date: Sun, 19 Mar 2017 12:27:52 GMT
Connection: keep-alive

Something happen% 

...如果我查看浏览器 - Firefox - 它只打印Something happen