nodejs发送http请求,如何保持获取的数据,并且返回到页面
var data="";
router.post(’/report/get’,function(reqs,res){
var urlStr=’http://xxxxxxx/slot/list';//发送的请求地址
var body=reqs.body;//发送的字段{colNum,currentPage}
console.log(“colNum”+JSON.stringify(body));
var contentStr=queryString.stringify(body);
var opt={
“hostname”:url.parse(urlStr).hostname,
“path”:url.parse(urlStr).path,
“method”:“POST”,
“port”:3000,
“headers”:{
‘Content-Type’: ‘application/x-www-form-urlencoded’,
‘Content-Length’: Buffer.byteLength(contentStr, ‘utf8’)
}
};
var httpModule = urlStr.indexOf(‘https’) === 0 ? https : http;
var req = httpModule.request(opt, function(httpRes) {
var buffers = [];
httpRes.on(‘data’, function(chunk) {
buffers.push(chunk);
});
httpRes.on('end', function(chunk) {
var wholeData = Buffer.concat(buffers);
var dataStr = wholeData.toString('utf8');
console.log('content'+wholeData);
data=wholeData;
//res.send(JSON.stringify(buffers));
});
}).on('error', function(err) {
console.log('error ' + err);
});;
//写入数据,完成发送
req.write(contentStr);
req.end();
res.send(JSON.stringify(data));
由于异步的原因,返回的data都是初始的时候的数据,怎样才能保持下来,返回到页面
5 回复
把最后一句放到你注释的那一行。出错的时候再发送另一个response。
建议用pipe,最快的可能是用request+pipe,试试:https://github.com/request/request
你这个问题 我今天刚写完
@13241491189 你这个回答有什么意义?
你们这些回答有卵用