节点Js中的HTTP请求

时间:2014-06-03 07:29:05

标签: javascript node.js http

我知道http请求是如何工作的,我知道如何发送和接收响应。 这是http请求的示例代码。

var http = require('http');    
var options = {
host: 'www.nodejitsu.com',
path: '/',    
port: '1337',    
method: 'POST'
};

callback = function(response) {
 var str = ''
 response.on('data', function (chunk) {
 str += chunk;
});

  response.on('end', function () {
   console.log(str);
  });      

}

var req = http.request(options, callback);

req.write("hello world!");
req.end();

在我的网站中,一切正常,服务器B向服务器A发送请求,服务器向服务器B发送响应。但是,有一次,当服务器A上存在大量流量并且无法接收任何请求时,我遇到问题从服务器B停止整个过程。

请求中是否有任何错误阻止处理此类错误? 我用Google搜索了很多这种愚蠢的东西,但它对我不起作用

callback = function(response,error) {

 if(error){
   console.log(error)
 }else{
   var str = ''
   response.on('data', function (chunk) {
   str += chunk;
   });
   response.on('error', function (err) {
   console.log(err);
   }); 
 }
});

1 个答案:

答案 0 :(得分:2)

你试过这个:

var req = http.request(options,callback);

req.on('error', function(e) {
    console.log('problem with request: ' + e.message);
});

如下所示: http://nodejs.org/api/http.html#http_http_request_options_callback