【问题标题】:How to read data events (chunks) from node.js request object如何从 node.js 请求对象中读取数据事件(块)
【发布时间】:2013-11-12 15:10:26
【问题描述】:

我遇到了一些非常基本的问题。浏览 node.js in Action (到目前为止很棒的书!),我无法让这个简单的例子工作。可能是因为书出后更新了stream api。我不确定。无论如何,这是代码:

var http = require('http');

var server = http.createServer(function (req, res) {
  req.on('data', function (chunk) {
    console.log("Chuck: ", chunk);
  });
  req.on('end', function () {
    console.log("End of Request");
    res.end('yay');
  });
}).listen(3000);

console.log('Chunk: ', chunk) 永远不会触发。就好像数据事件永远不会触发一样,但是根据文档,数据处理程序的存在应该将可读流(req)切换到流动模式。我错过了什么吗?

任何帮助都会动摇!

【问题讨论】:

  • 啊哈哈,没有请求正文。没关系:) 卷曲作品。例如: curl localhost:3000 -d "{'bam': 'check it'}"
  • 您能给我们看看客户端代码吗?你如何向你的服务器发送请求? data 事件只有在请求正文中有内​​容时才会触发。例如,一个简单的 GET 请求只有标头,没有正文。
  • 您知道有时当您寻求数学问题的帮助时,口头解释问题的行为会导致答案吗?然后即使你请求帮助的人仍然不太明白你的数学问题,你有一个尤里卡舞吗?
  • 我相信this Wikipedia article 是相关的;-)
  • 在请求的请求体中使用body

标签: javascript node.js http


【解决方案1】:

上面的代码是当前的,请求体是未定义的,你必须传递请求数据才能执行这一行。

req.on('data', function (chunk) {
    console.log("Chuck: ", chunk);
  });

在请求中使用邮递员发送数据将被执行

【讨论】:

    猜你喜欢
    • 2017-05-03
    • 1970-01-01
    • 2017-03-12
    • 2016-10-02
    • 1970-01-01
    • 2013-11-01
    • 2016-03-17
    • 2014-10-18
    • 2019-11-26
    相关资源
    最近更新 更多