ric*_*uck 2 http httprequest node.js
我在节点0.10中有以下内容
var postData = querystring.stringify(data)
var options = {
host: 'localhost',
port: 80,
path: '/rest/messages/participant?format=json',
method: 'POST',
json: true,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': postData.length
}
};
var req = http.request(options, function(res) {
res.setEncoding('utf8');
res.on('data', function (chunk) {
// console.log("body: " + chunk);
});
});
req.on('end', function(){
console.log('ended');
});
req.on("close", function(){
console.log("closed");
io.sockets.emit('added', data);
});
req.write(postData);
req.end();
Run Code Online (Sandbox Code Playgroud)
无论是'end'事件还是'close'事件被解雇,即使在通过http.request像这样的对象:
var req = http.request(options, function(res) {
res.setEncoding('utf8');
res.on('data', function (chunk) {
// console.log("body: " + chunk);
});
res.on("end",function(){ console.log("end");});
res.on("close",function(){ console.log("close");});
});
Run Code Online (Sandbox Code Playgroud)
为什么我的活动没有解雇?
我怀疑这里的请求实例(实际上这是OutgoingMessage的一个实例)发出事件"end"/"close".试着听'完成'事件.
req.on('finish', function(){
console.log('ended');
});
req.on("finish", function(){
console.log("closed");
io.sockets.emit('added', data);
});
Run Code Online (Sandbox Code Playgroud)
而且没有必要这样说.req.write(POSTDATA); 由于数据传递了部分选项到http.request方法.它负责编写数据.
| 归档时间: |
|
| 查看次数: |
9511 次 |
| 最近记录: |