我正在使用这段代码发送一些http请求并获取数据,并且工作正常。我最近更新了Apache和PHP到最新版本,以及节点。Node.js http响应结束事件?
'close'事件停止发射。我也试过'结束'和'完成'这似乎没有任何工作。
我需要知道什么时候响应结束,所以我可以开始处理数据,通常它有几个块。你们能帮忙吗?
var req = http.request(options, function(res) {
res.on('data', function (chunk) {
if(chunk != null && chunk != "") {
dataString += chunk; c
}
});
});
req.on('close', function() {
//tadaa it is finished, so we can process dataString
});
req.write(post_data);
req.end();
当前版本:2.4的Apache,PHP 5.4节点0.10.9
也许有一些Apache特定的配置设置,防止它关闭连接?
P.S.我不认为这是Apache虽然..我试图google.com与相同的结果..很奇怪...任何人都有一个工作代码示例? (加载大数据,并知道何时结束)
如果你做了很多的服务器端请求,你应该考虑使用[request](https://npmjs.org/package/request)包。 – gustavohenke
这可能是[streams2](http://blog.nodejs.org/2012/12/20/streams2/)的问题。尝试添加'req.on('data'...)'或在'req.on('end')'后面调用'req.resume()'。 –