新手,res.on('data')只能得到一次数据的问题. 在线等!
function start(route, handle) { http.createServer(function(request, response) { var postData = “test”; var pathname = url.parse(request.url).pathname;
request.addListener("end", function(test) {
route(handle, pathname, response, postData);
});
request.addListener("data", function(chunk) {
postData += chunk;
console.log("Recived post data chunk '" + chunk + "'.");
});
}).listen(8888);
} 如上的代码, 当把request的监听放到函数start中的时候data事件只会触发一次? 求教啊 新手,遇到这个问题很是纠结. 换on触发也没用.
4 回复
触发一次, 收到什么了?
我想 request 是不是不应该加 data listener。你这一加,server 不就收不到数据了,就没法 route 了。所以,你的data listener 被 server 的 data listener 覆盖了。
数据太小了。所以只有一次,你post个大文件上去看看
你是post请求的吗?
不知道你是怎么测试发出http请求的 如果是利用req = http.request();发出的请求,每一次调用req.write();都会发射data事件。 如果是浏览器的话,发送到你的服务器的数据流是不是只有一个,所以只会触发一次data事件