0

服务器1.js

var data = querystring.stringify({
    imageName: reqImgName
  });

var options = {
              host: 'localhost',
              port: 4321,
              path: '/image',
              method: 'POST',
              headers: {
                    'Content-Type': 'application/x-www-form-urlencoded',
                    'Content-Length': data.length
                }
            };

server2.js

http.createServer(function(req, res){
  var reqMethod=req.method;
  var request = url.parse(req.url, true);
  var pathName = request.pathname;
  console.log('Path name is '+pathName);
  if (reqMethod=='POST' && pathName == '/image') {

   //here i need my server1 data..how can i get here.
   } 

}).listen(4321);
4

2 回答 2

5
var postData = '';
req.on('data', function(datum) {
  postData += datum;
});

req.on('end', function() {
  //read postData
});

您没有收到任何帖子数据,因为您没有在 server1.js 中发送任何数据。尝试将一些数据写入请求正文

var req = http.request(options, function(res) {

});


req.write('data=somedata');

调试 server2 的另一种方法是让浏览器向 /image 发起 POST 请求

于 2013-08-05T06:24:24.353 回答
1

将事件侦听器附加到data和的end事件reqdata将为您提供可以增量处理的数据块,并end会告诉您何时拥有一切。

于 2013-08-05T06:22:29.013 回答