【问题标题】:Get reponse message in Node using Request library?使用请求库在节点中获取响应消息?
【发布时间】:2015-06-09 11:33:54
【问题描述】:

我的后端服务器使用 Express 有以下代码:

router.post('/test', function(req, res) {
  res.end(res.writeHead(200, "custom message");
});

当我使用请求库在 Node.js 中发出此帖子请求时,我如何获得“自定义消息”?

var request = require("request");
request.post(options, function(error, response, body) {
  console.log(response.statusCode); //works
  console.log(JSON.stringify(response.headers)); //doesn't have my custom message 
});

在 c# 中,我能够在 statusDecription 属性中获取此消息,它在请求库中是如何工作的?

编辑: 用以下代码解决:

router.post('/test', function(req, res) {
  res.end(res.writeHead(200, {"test": "custom message"});
});

然后

var request = require("request");
request.post(options, function(error, response, body) {
  console.log(response.headers["test"]);  
});

【问题讨论】:

  • 你的第二个例子应该可以工作:它应该记录custom message。也许您更改了服务器代码,只是忘记重新启动服务器?
  • 感谢您的确认。我确实犯了一个小错字,有趣的是我如何通过另一个错字来解决一个错字-.-

标签: node.js rest express request


【解决方案1】:

来自http.ServerResponse API:

response.writeHead(statusCode[, statusMessage][, headers])

向请求发送响应标头。状态码是 3 位 HTTP 状态码,如 404。最后一个参数 headers 是响应头。可以选择提供人类可读的statusMessage 作为第二个参数。

request 回调中的response 参数是http.ServerResponse 的一个实例。您正在寻找的是response.statusMessage

https://nodejs.org/api/http.html#http_class_http_serverresponse

【讨论】:

  • response.statusMessage 返回未定义。您提供的内容来自 Node 的用户手册。我没有使用那个...我正在使用来自github.com/request/request的请求库@
猜你喜欢
  • 2013-06-27
  • 2017-02-01
  • 1970-01-01
  • 2018-05-28
  • 1970-01-01
  • 2019-05-24
  • 1970-01-01
  • 1970-01-01
  • 2014-06-29
相关资源
最近更新 更多