statusMessage在“ res”中未定义-Node Express

时间:2018-09-21 10:05:52

标签: javascript node.js express

我正在使用Node.js和Express.js,我需要一条路线来显示应用程序的状态。

router.get('/status', function(req, res) {
   res.send("status " + res.statusCode + " : " + res.statusMessage);
});

当我登录res时,statusCodestatusMessage均为null

结果为状态200:undefined

我做错什么了吗?

2 个答案:

答案 0 :(得分:1)

  

当我登录res时,statusCode和statusMessage都为空。

查看您的输出:

  

状态 200 :未定义

statusCode不是null,而是200

statusMessage也不是null,而是undefined。这是预期的。查看documentation for it

  

如果未定义,则将使用状态码的标准消息。

在对象离开控件之前,不会添加默认消息。据我所知,除了从状态码中推断出消息外,没有其他方法可以找到消息。

答案 1 :(得分:1)

您没有做错任何事情。看看ServerResponse here.

的源代码

如您所见,statusCode和statusMessage被初始化(行)为:

ServerResponse.prototype.statusCode = 200;
ServerResponse.prototype.statusMessage = undefined;

并且由于您没有修改它们中的任何一个,因此将它们设置为默认值。