【问题标题】:Node JS HTTP GET request bodyNode JS HTTP GET 请求体
【发布时间】:2014-07-14 16:43:22
【问题描述】:

我正在使用 node.js 中的 express 模块,我正在尝试读取 HTTP GET 请求的正文并根据正文的内容将答案发送回用户。我是 node.js 的新手,这对我不起作用。

我知道我应该为此使用 HTTP POST(当我使用 post 时它可以工作),但是我试图在 node.js 中模仿的服务器使用 GET,所以我必须坚持下去。有没有办法在 node.js 中做到这一点?谢谢!

这是我做的一个示例代码。当我使用 app.post 时,我看到了正文的日志,但是当我使用 app.get 时,我根本看不到任何日志!

app.get('/someURL/', function(req, res){

  var postData = '';

  req.on('data', function(chunk) {
    console.log("chunk request:");
    console.log(chunk);
    postData += chunk;
  });

  req.on('end', function() {
    console.log("body request:");
    console.log(postData);
  });

  //Manipulate response based on postData information

  var bodyResponse = "some data based on request body"

  res.setHeader('Content-Type', 'application/json;charset=utf-8');
  res.setHeader('Content-Length', bodyResponse.length);

  res.send(bodyResponse);
};

【问题讨论】:

标签: javascript node.js express get


【解决方案1】:

您使用的 Node 的 HTML 解析器版本不支持 GET 请求中的正文。此功能在最新的不稳定 v0.11 分支上可用。

【讨论】:

  • 您好,感谢您的回复,但我刚刚尝试使用 node v0.11.11 并且在 windows 和 linux 版本的 node.js 上都遇到了同样的问题。基本上, req.on('data',fucntion(chunk){}; 不会拾取 GET 请求的主体。有什么想法吗?
猜你喜欢
  • 2015-07-05
  • 2019-06-30
  • 2017-03-31
  • 1970-01-01
  • 2016-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-10
相关资源
最近更新 更多